Grain, a startup built atop of Zoom for note-taking and video-clip making - <AUTHOR> https://techcrunch.com/2020/04/16/grain-a-startup-built-expressly-atop-of-zoom-for-note-taking-and-video-clip-making-raises-4-million/ <comment><USER2> Hey HN. I'm Mike co-founder/CEO of Grain.

I decided to start Grain b/c I was tired of requesting access to recordings of convos and repeating myself when I could just share the part of a recording instead. Our team built something pretty cool that I honestly didn't see coming when we started.

Happy to answer any questions and thanks for the support.

<comment><USER3> Since you built your product based on another vendor's platform, are you concerned that they might cut off access? Do you have any contingency plans for that?

<comment><USER2> Cultivating an app ecosystem on their platform is a publicly stated goal of Zoom. Cutting off any start-up building on it would be counter-productive and lead to their competitors gaining the advantage of innovation on their platform instead.

See: [https://marketplace.zoom.us/competition](https://marketplace.zoom.us/competition)

<comment><USER4> Twitter used to say the same stuff and they cut their dev community off at the knees once they got big enough (mostly because of said community building out their feature set).

<comment><USER5> Let the sharecroppers do all the research, development, marketing, refinement. Then steal their thunder.

Been there, been done like that.

</comment></comment></comment></comment></comment><comment><USER6> I think this product is way overdue for how ubiquitous video has become, even pre-social distancing. Scrubbing through lengths of video to find the relevant clip is such a pain.

I'm digging the integration features, e.g. slack, imessage

I feel like this is one of those tools that will end up being used in ways not initially planned. Meme generation and reaction videos perhaps, lol.

Good luck Grain team!

<comment><USER2> Thanks! We think so too.

We actually spent 9 months building a prior version of Grain that was basically a Google Doc w/ Zoom integration & time stamps. Ultimately, we threw that version away (kill your darlings as they say). People told us that what you described was the bigger problem b/c it was too much work to unlock a stream of recorded video w/ traditional post-hoc video editing tools.

But if it's easy enough to break the best content down into just the good parts that live on their own, independent of the parent recording file... well that unlocks some interesting things you can do to combine those blocks and share them in feeds w/ teams.

But it all comes down the the quality of the content you make with the tool. So that's where we're focused first.

<comment><USER7> Really liking the integration with Notion.

<comment><USER2> Thanks. We do to.

We use Notion like crazy internally so it was at the top of our priority list along with Slack. I probably paste 80% of my links into Slack... it's magical b/c people just watch, get the context and then discuss... I hate information dumping and Grain + Slack saves me tons of time to share video highlights instead and they work better anyway b/c it preserves the context and richness of the original video (with voice, tone, facial expressions, screenshare content, etc.). All of those get lost when trying to summarize a video call to info transfer to someone else.

I find myself pasting Grain highlights in Notion when I'm doing more analytical work that I want to be supported by rich media/evidence and become a source of reference/documentation. Think highlight reels.

</comment></comment></comment></comment><comment><USER8> Can confirm the "new way of working" when it comes to video clips ...

I have made it a part of my worklife to share with co-workers EDITED video highlights of zoom calls and training sessions. This includes conference talks I find on youtube (e.g. Kubecon talks) that I want to have colleagues view.

I can usually cut down an hour talk/call. to around 5-20 minutes of good high impact content.

Historically, I just record in the cloud on Zoom (using all the nice extra features around auto-transcript, recording speaker and shared screen separately, etc... ) and edit it in Adobe Premier.

I've got the manual workflow down where this is something I don't do every day.. but several times a week is fine. Editing ain't pretty, but it is effective.

Since the lockdown, I have been working on the other end of the "pipeline"... the INPUT to Zoom. After a couple of false starts (OBS, CamTwist, Wirecast...). I ended up implementing Ecamm Studio Pro....

Looking forward to exploring your tool....

<comment><USER9> Can you talk about the value you've gotten out of doing this? It sounds very interesting, but also fairly effort-intensive. Does it also help you remember meeting takeaways, because you're actively reviewing your recent day or two?

<comment><USER8> I do it mostly so I don't have to repeat myself. :)

I use the clips so that others can gain from the kernals of wisdom those clips provide... without having to commit to some portion of an hour to find the kernal themselves.

Saves everyone time and enforces compliance to decisions made )

Also, of course, by manually editing down a deeply technical discussion from an hour to 20 minutes helps me REALLY listen and understand what the speaker is saying....and so it also helps me to continue improve my knowledge...

<comment><USER10> I can't help but think you've found a more complicated and less efficient way to achieve the same thing as writing up an off-the cuff talk afterwards.

Personally I loathe the spoken word as a medium for efficient transmission of information. Reading and skim-reading is an order of magnitude faster.

And writing up something I've spoken is the perfect way to focus and clarify.

<comment><USER8> LOL.... I know what you are saying,

It's interesting how different people process information.

All I can say is that it works for me.... and I find it to be highly impactful on my co-workers etc.

There is something about capturing nuance that "multimedia" really helps with....

So my mission is to reduce the effort it takes for me to do this to less then it takes to just write up and share notes...

</comment></comment></comment></comment></comment><comment><USER11> The video on their landing page does a vastly better job explaining how it works:

[https://www.grain.co/](https://www.grain.co/)

I've got to say, that for meetings big/important enough where you've got someone dedicated to taking notes/minutes, this seems like it could be a _really_ effective and compelling way of sharing meeting highlights/takeaways/fun bits with a broader audience, people who couldn't make it, or for posterity. A serious win for workplace culture and communication generally. (Of course, you never know until you actually try using it for a few weeks.)

But if this works well, hopefully Zoom buys them, and we'll expect to see Google and Microsoft build their own versions.

<comment><USER12> I love that the automatic transcription shown in that video has errors. It's realistic, while also showing that enough is accurate that it's useful.

<comment><USER2> Yup, you nailed it.

Our transcription will naturally get better over time but it doesn't have to be perfect b/c it's a means to an end in Grain. (creating/trimming video clips)

Even perfect transcripts are still terrible to read most of the time b/c the dynamic nature of spoken dialogue just doesn't translate well across mediums.

Google "Media Richness Theory" if you want to go down the rabbit hole on this.

</comment></comment></comment><comment><USER13> The "Trusted by great teams" section of your homepage lists companies like "Slack", how did you convince them to start using your product?

<comment><USER14> Whenever I see these, I suspect it's more along the lines of _someone_ at Slack is using this product.

<comment><USER15> This is a correct way to interpret it. Just an email address sign up is usually used as enough justification to make the statement.

<comment><USER16> I guess we only have anecdotal evidence to go on here, but except for exactly one case I've always seen the organizations I work for get and wait for a positive response to their request before they display our logo. Does everyone else's experience really differ on this?

<comment><USER17> I have had exactly the same experience in my previous (and in my current) startup. I would never add the logo of a client without their consent. (maybe some don't follow that logic)

</comment></comment></comment></comment></comment><comment><USER18> Is this a feature or a product? How about 9 months from now? There is a genuine concern with startups built "atop of" another product. There is a thin line between alive and dead in that space. Twitter devs can tell you a thing or two about it.

Hopefully this is a catapult or an entry point. All the best, regardless.

<comment><USER2> Thanks for the well wishes skeptical but kind stranger!

No doubt we're aware of the analogs and risks. Have spent a collective month in Zoom calls with other platform founders to understand the risks but feeling really good about Zoom as a GTM platform partner. Have mentioned in other threads but there's long-sequence of strategic moves at play and this is the first of them.

</comment></comment><comment><USER19> This post inspired me to repost [1] my side project that I open sourced as a PoC a while ago. I saw "note-taking" in the title and my project allows the type of note-taking that I envision should happen a bit more often (using a stylus).

The code is open-source, so I invite the co-founders of Grain to take a look and see if the idea might be useful to them :)

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

<comment><USER2> Thanks! Will check it out!

</comment></comment><comment><USER20> I even used this for a family call the other day to clip someone's dumb joke and share it later with fam.

</comment><comment><USER21> Looks like a crutch for poor managery practices which are very common in today's IT companies: management stubbornly wants to get rid of ancient technology of writing and to return to even earlier oral-only society.

As in oral-only societies, information becomes stored only in minds. After video meetings, no recorded information remains, so let's add recording of videos. Recorded videos are unsearchable and poorly seekable, so let's add voice recognition.

This is ridiculous: supporting desire of managers to return to prehistoric times and trying to fix it with frigging cutting-edge deep learning. I would not say "trusted by _great_ teams".

</comment><comment><USER22> "Grain"... Black Mirror reference? [https://en.wikipedia.org/wiki/The_Entire_History_of_You](https://en.wikipedia.org/wiki/The_Entire_History_of_You)

<comment><USER2> Will have to watch that one later.

</comment></comment><comment><USER23> I wouldn't be spruiking 'built atop of' a product being banned by so many companies and schools.

If anything you should be pivoting to support as many of the other popular video conferencing apps out there.

<comment><USER2> I've been building apps on Zoom for 5 years (3 years building private apps for Zoom based schools) and I'm grateful for the recent news helping Zoom to prioritize critical things that Eric said himself that they should have prioritized a long time ago.

The concerns are 100% valid, I'm glad to see them finally surfaced and addressed. I still like our odds w/ Zoom relative to WebRTC, their team is a proven mammoth. My son was on a Zoom call for school this morning... likely some PR relativity of the past week.

It's a two horse race at this point Zoom or WebRTC. Most start ups choose to build on WebRTC and focus on new workflows, we chose to build on Zoom to add the most meaningful leverage we could think of (data utility) to existing workflows.

</comment></comment><comment><USER24> I was building something with a very similar same feature set (minus the sharing publicly) for the last few weeks to add as a feature to my platform, just less polished as befits a 1 person team with no funding :D.

There are a lot of things to be done to improve the utility of videoconferences once finished. The information is obviously less dense and parseable but also more rich. It's inspiring to see other projects working in the same direction

<comment><USER25> Good luck! I was wondering what backend do you guys use for Speech-to-text? As a ML guy I'm quite interested to learn what people experiment with. Cheers:)

</comment></comment><comment><USER26> Hi Mike, What particular advantages do you see between grain clips vs written minutes from a meeting?

In my field there are many instances where an item on the agenda is talked through for 15mins and the minute-taker can summarise into a couple of lines/paragraph.

I'm struggling to see how a video clip can deliver a similar summarisation, unless someone has vocally summarised at the end for the clip.

<comment><USER2> Frankly this wouldn't make for a great highlight clip. You could make it but nobody would watch it.

Grain is best for that punchy quote you want to share mid-moment or for the summary 30 second wrap-up at the end.

We have changed our dialogue to include these at the end of convos b/c that way it's easy to summarize conclusions and next steps to document and share with others. Most good meetings have these anyway.

</comment></comment><comment><USER27> Very cool stuff, two clarifying questions:

\- Does Grain require access to the Zoom API to work? (Is there some other screen capture / scraping at work?) Any known issues/restrictions with using this with enterprise Zoom accounts?

\- Can I record a Zoom meeting I was invited to, or just ones where I own the invite?

<comment><USER2> Great questions.

\- Yes, the only way to log-into Grain is with your Zoom account. It's been really seamless, they did a great job setting up those permissions.

\- Sort of. You can take notes if 1) It's your Zoom link or 2) It's someone on your team who is also a Grain user's Zoom link. There isn't currently a way to take notes across workspaces b/c we want the meeting host to be in control for privacy reasons.

</comment></comment><comment><USER26> Hi Mike, What particular advantages do you see between grain clips vs written minutes from a meeting?

In my field there are many instances where an item on the agenda is talked through for 15mins and the minute-taker can summarise into a couple of lines/paragraph.

</comment><comment><USER28> Is this like Camtasia for screenshooting, screencasting and video editing software? [https://www.techsmith.com/video- editor.html](https://www.techsmith.com/video-editor.html)

<comment><USER2> Not really b/c 1) Grain is real-time and 2) it's not a screen capture.

</comment></comment><comment><USER25> Great stuff! I'm a ML researcher / engineer in NLP, and I'm curious what sort of speech recognition tools you guys are using? I'm thinking of building really solid SDK's in this space:)

</comment><comment><USER29> this is pretty sweet stuff ed and team!

<comment><USER2> Thanks Ed's friend! We're lucky he joined our team at the very beginning.

</comment></comment><comment><USER30> > a startup built atop of...

...a third-party company that can kill your business at any time (see for example what happened with, twitter, facebook etc).

<comment><USER31> Maybe they shooting for an acquihire play? This thing is more of a Feature than a Product.

<comment><USER2> Zoom is just where we start (huge distribution channel and the most developed platform). As soon as you build your own WebRTC based thing... you're nuking millions of existing video based workflows you could otherwise tap into to create value. There are several 2-3 year older than us companies that are doing quite well hooking into the data generated from all the VC platforms without providing the VC service themselves.

But yes, this was def the #1 objection of VCs when we raised our seed round. Fortunately we got others to believe that the first move we just launched is just one of many in a strategy sequence. Time will tell.

</comment></comment></comment><comment><USER32> Speak of a solid foundation to build your company on...</comment>


Principles of Software Engineering, Part 1 - <AUTHOR> http://nathanmarz.com/blog/principles-of-software-engineering-part-1.html

<comment><USER2> Great stuff, and I love the concrete example of the ZK failure due to error logging -- a classic cascading failure mode. While it's true that I'm an inveterate disaster porn addict[1] and would therefore love this regardless, I think that Nathan's piece serves as a model in that it speaks to learning from failure rather than gloating about nascent success -- we collectively need much more of this! I also like that Nathan doesn't romanticize other engineering domains, as naive software engineers are wont to do; other engineering domains also struggle with failure -- it's just that their failures are so much more public (and so much more likely to involve loss of property and/or life) that they cannot evade collective introspection the way software engineering so frequently seems to. Very much looking forward to Part 2!

[1] [http://www.infoq.com/presentations/Debugging-Production- Syst...](http://www.infoq.com/presentations/Debugging-Production-Systems)

<comment><USER3> I've enjoyed your talk, thanks for posting. One thing I'd like to know though: As someone who's optimizing his debugging skills and environment so thoroughly as you, it surprised me that you love javascript. Don't get me wrong, obviously it has some of the best tooling thanks to its abundance, but doesn't it bug you that it tends to fail silently? I feel that there are quite a few error classes that need to be caught by unit tests in case of JS, where in languages with more rigid type systems (such as python) it gets caught as an exception right on the first run. Or is it that this uneasy feeling about everything you do in JS is what has spawned a culture of more thorough unit testing, such that at the end you're better off?

<comment><USER4> The things that you need to unit test even when you have static typing typically overlap tests that will detect type errors as well. The fact that there is no static typing also puts a bit more fire under your butt to test things.

In the end, its a wash.

</comment></comment></comment><comment><USER5> I think this quote is magic, "Software engineering is a constant battle against uncertainty – uncertainty about your specs, uncertainty about your implementation, uncertainty about your dependencies, and uncertainty about your inputs."

Engineering is about handling what goes wrong, not what goes right. It's about handling the errors, changes, misuse, etc. It isn't about the techniques per say, as much as the mindset of living in an imperfect world.

[Edit: Fixed a typo.]

<comment><USER6> Indeed, which is why I like to think of engineering as a game of hyper- dimensional whack-a-mole [1].

There are a certain series of things you have to hit in a fairly hyper- dimensional world, dodging constraints, hurdling uncertainty and taking risk in your stride as you struggle to make products that work, delight consumers and make bank.

It's like a complex and exquisite ballet really, with suppliers, manufacturers, producers and designers all coming together to make extraordinary products that astonish the world.

Ah, I love engineering.

[1] <https://news.ycombinator.com/item?id=4238984>

> _designing a rocket engine is a massive game of high dimensional parameter > whack-a-mole, it's very difficult to get a passable configuration without a > lot of iteration and forwards-backwards passes_

</comment></comment><comment><USER7> Super interesting post! I'd have mentioned Unit tests as another measure to tackle uncertainty. Simple, boring unit tests (reminds me of this post[1]). Maybe he just assumes those will exist when professional engineers write code. [2]

[1] [http://robertheaton.com/2013/04/01/check-youre-wearing- trous...](http://robertheaton.com/2013/04/01/check-youre-wearing-trousers- first/) [2] [http://www.amazon.com/Clean-Coder-Conduct-Professional- Progr...](http://www.amazon.com/Clean-Coder-Conduct-Professional- Programmers/dp/0137081073)

<comment><USER8> Unit tests are of course important, but they don't test for higher level failures like network issues, high latency, increased load, etc. Your components must be designed to be isolated from incidents as much as possible, possibly using the techniques implemented in Hystrix [1], an open source library from Netflix.

[1] <https://github.com/Netflix/Hystrix>

</comment></comment><comment><USER9> One question this raised (and I don't mean this as a gotcha): why could a flood to the error-reporting servers take down _all_ of the applications? I expected the primary fix to be to decouple the work so it could continue with no error reporting server. (But I'm not familiar with Zookeeper or any of the other work the author's doing, beyond reading some post on Storm.)

<comment><USER10> Zookeeper is a distributed coordination service. Think of it as an extremely robust reliable datastore for handling small amounts of data. It provides that robustness by using an expensive synchronization protocol. When you try and slam it with large volumes of data, zookeeper falls over. And Storm relies on Zookeeper for basic functioning, so without a running zookeeper ensemble, the associated Storm cluster will die too.

<comment><USER9> That makes sense. It's not clear to me though why error logging should belong to it.

<comment><USER10> Well, a Storm "program" operates concurrently on many nodes at once. If an exception is thrown, you may want to log it and the stack trace, but where? If you write to a local log file, that data will be useless unless you run some sort of log shipping or log centralization (like with scribe or kafka or syslogng). But that's usually a pain in neck to setup and you can't run storm without already running a zookeeper cluster, so if you're lazy, you just log to zookeeper.

Everything is fine as long as exceptions are infrequent.

</comment></comment></comment></comment><comment><USER11> There is a fine line between industry (cost center vs generating revenue) and startups when it comes to discussing the term software engineering.

I see a large amount of legacy maintenance in cost center based programming. Revenue generating industry channels seem to favor the enterprise aspect of software engineering. Startups attempt to just build, and fix as necessary (cowboy). Yet, each has their own facet of software engineering.

I am still trying to draw the line between too-enterprisy, too-maintenancy, and too-cowboy. At my current job, we assume everything is certain. The uncertainties are not coded for, because everything is internal. This bothers me to a large extent. I love coding for the uncertain. Giving more control to the user and automating a whole department is right up my court. Sadly, it is hard to convert people. Only the 'RU' in CRUD is in the user's hands most of the time. It is pure legacy fear.

The removing cascading failures part needs more emphasis. Remove portions from your cycle/automation/jobs. What happens? I also agree with the measure and monitor portion. Waiting to create analyzers and looking at metrics once the program starts breaking in production is too late.

Looking forward to the next posts.

</comment><comment><USER12> This may be semantics, but I think of software engineering as the slightly larger scope of building real-world solutions with software and hardware. Civil engineering is not (just) about mixing the right cement and letting it cure at the right temperature for the right length of time, nor is it strictly about building a bridge, it's about building a bridge for the right price in the right amount of time that will last a given number of years, all parameters which were determined through a careful process and making decisions with stakeholders, while applying scientific principles (geology, materials science, etc.) and good people management skills. Oh, and the successful bridge project leaves behind the documentation of the bridge as built and a structure to assure its proper maintenance.

However, I do agree that handling the huge and complex range of inputs, not only the expected ones, is a great beginning to the process, one that is often overlooked. And same goes for internal monitoring, to make sure your system is still functioning as designed.</comment>


Hotmail leaked - Exchange ActiveSync, active view, SSL encryption and more - <AUTHOR> http://livesino.net/archives/2645.live Check other stuffs LiveSino found. Click on the "Translate this page" if you want to know more than just screenshots. <comment><USER2> How would Hotmail (an older consumer product) and Exchange (a 100% Enterprise product) mix together?

I would imagine a competitive product to Google Apps for Domains would have it's product aligned underneath the Office brand?</comment>


Ask HN: What Programming Languages do you use and for what? - <AUTHOR>

I use Java at Work for mostly enterprise stuff. Python for Pet Projects. Golang out of curiosity. C/x86 ASM for feeling elite. <comment><USER2> Common Lisp for work/fun. C and Java to wrap libraries for Lisp and clean up FFIs.

I know tens of programming languages. But other than Lisp, I just can't program comfortably in any of them without having a manual beside me. Mostly because I don't want/need to.

When it comes to "fun" languages, I prefer rigor to abundance of libraries (Citeseer/LtU to github.) I will happily spend a weekend on Mozart/Oz, Scheme, ML, along with hundreds upon hundreds of research languages that I pick up to follow a given text or area of research, but quickly forget once I get a general sense of the field and I am done reading the papers.

I also dabble in J2EE and C++ stuff, from "architecture" stand points; to quickly learn new design techniques, then translate them to Lisp semantics, or usually just obviate the need for them.

Most mainstream languages bore me, and I find them lacking in quality peer- reviewed papers or ground-breaking work. So far they're just a synthesis of old ideas into a nice, accessible package, or fixes of previous short-comings. I am also idiot-intolerant; if I find a language attracts loud blowhards, corporate types, shrieking excited newbs, and generally uninformed pundits, I am more likely to avoid it just to avoid their company ..

</comment><comment><USER3> Ruby for the website I'm working on.

PHP for websites I need to throw up quickly.

Javascript for browser scripting.

Bash for scripting on linux/osx.

Applescript for automating stuff on my mac that can't be done with bash.

</comment><comment> alok-g Moved from C++ to C# for a few years but ended up making a comeback to C++. C# does not cut it for scientific computation. See my C# forum post here: [http://social.msdn.microsoft.com/Forums/en/csharplanguage/th...](http://social.msdn.microsoft.com/Forums/en/csharplanguage/thread/47d10fcb-2d69-451a-bb97-023f1f9113f3)

Mathematica for heavily mathematical tasks. Sometimes Matlab to use some of its built-in library functions. I wish Mathematica supported object-oriented programming natively.

Have used others for various random tasks: ActionScript, Python, Verilog, etc.

</comment><comment><USER4> C++ and a Scheme dialect at work.

Mathematica for research.

SuperCollider for audio work.

Played around with Haskell, Lua, Python, Oz and Erlang for fun.

<comment><USER5> Thanks for mentioning SuperCollider. I thought ChucK was the only one available for audio programming. Any place to start audio programming? I was really bad at physics so Sin and Cos stuff only go over my head.

My stack:

Javascript to play with Node.js

Ruby for web apps

Java for android's sake

Mirah for it's ruby-like syntax for java stuff

Used to do python a few months back

Learning Common Lisp

My next would be Haskell

P.S: There's nothing serious I'm working on right now. So most I do i try out stuff to write opensource code to show off on my resume.

<comment><USER2> You don't have to use Java just for Android. I am working on a tutorial for Android programming in Common Lisp. Shoot me an email so I can update you.

</comment></comment></comment><comment><USER6> C++ at work for the new code

C at work for supporting the old code (and at my last job for embedded systems)

Matlab at work 'cause the science phds I'm collaborating with don't know anything else

Python for most random tasks (and some analysis for myself using numpy)

Lua for extending my window manager

Haskell (just starting) for fun

Spice at my last job for circuit analysis

</comment><comment><USER7> C/C++: At work

Python: At work, and as the backend language for my web stuffs (django & al)

Perl: Quick hacks and system scripts

Shell: System scripts where perl would be an overkill

JavaScript: as part of my personal web stuffs. Recently experimenting with node.js aswell.

I use a couple of others (Ruby, mainly) to learn them, in case I'd need them someday.

</comment><comment><USER8> Over the years I've used C++, C, Java, Perl, a little Mathematica (for analysing algorithms and trying to come up with better approximations to replace expensive numeric algorithms), sh, small amounts of x86 assembly, and even Modula-2 (long ago) for work. Currently I'm using mostly Perl (with POE) for high-load low-latency web serving, web scraping, and various back-end scripts. We use Javascript for front-end stuff, but I'm less involved with that.

In the past I've played around a bit with Haskell, OCaml, Scheme, Smalltalk, and even Forth (again, a long time ago!). I've looked at Erlang a little, but haven't gotten around to doing anything with it. I'm hoping to get some time to play with Rakudo (Perl 6) sometime soon, and I'm looking at whether Hackety Hack and Ruby are the right way to introduce my kids to programming.

</comment><comment><USER9> For startup -Smalltalk for Web app backend -Ruby for for backend job scripting -Some javascript

At day job \- VB for some macros in Excel \- R for analysis \- Java for some integration modules and helping on some enterprise apps. \- Scheme for other analysis and generating certain visualizations. \- Bash scripts

</comment><comment><USER10> At work the list is; PHP, Perl, Javascript, ksh and good ole K&R C For fun I mess around with Ruby and Scheme. I even played around with arc3 for a bit because I was curious.

Every job I've had I keep coming back to Unix scripting. It's just the one language that I need to always know and I constantly come back to it. I used to work on a wide smattering of very ancient Unix boxes so I had to get comfy with ksh. I use awk and sed daily just for wading through source code.

I used to spend every day coding in the scripting language for the Ameritech ISDN bulk call generator. I still have nightmares. It was like a cross between BASIC and assembly only it ran on an Intel 8086. This was in the late 90's still.

Every once in a while someone tells me I need to learn TCL. But so far I've avoided it.

</comment><comment><USER11> Ruby: Backend web application development (work)

Javascript: Front end UI and plugin API development (work)

C: How fast can I do this? (whenever needed)

C++/Java/Flash: Games (made a good 3D game in a Java applet - check out arcade.connersc.com)

PHP: Freelance client work

(edit: formatting)

</comment><comment><USER12> \- Javascript for APIs and backend frameworks (work & fun)

\- Perl for scripts and a documentation tool (work)

\- Scala for fun little projects (fun)

\- C/C++/C# for small things just to keep my skills up (fun)

\- Shell for portable scripts and such (work & fun)

</comment><comment><USER13> C++ at work(all the money making systems)

C# at work(some new projects)

python at work (automate stuff basically shell scripts for windows)

Haskell at home small projects.

C++ at home for working on games.

</comment><comment><USER14> I was hired as a PHP developer, but I'm gradually transitioning them over to Ruby. I still need a manual for both of these languages; PHP for the ludicrous amount of functions (<http://www.php.net/manual/en/function.levenshtein.php> anybody?), and Ruby for the frequently confusing code I come across. Ruby is my current hobby language.

I also use Javascript for jQuery, and for Node.js in my spare time.

</comment><comment><USER15> java is my default for server work, with eclipse and 12 years experience (has it really been so long??) I'm pretty quick.

javascript + jquery for front end work.

sometimes AS3 but not lately.

working on erlang as couchdb has become increasingly important to my work.

</comment><comment><USER16> Python - for web development and some various jobs I need done and I'm using it at work.

D - for cross platform desktop applications I'm developing.

Learning Scala for the future and planning to use Vala for GTK apps.

</comment><comment><USER17> C, c++, Obj-C at work (with a healthy mashing of bash scripting for the meta- work)</comment>


CNN-News18 allegedly breached by hackers to refute PayTM attacks - <AUTHOR> https://www.bleepingcomputer.com/news/security/cnn-news18-allegedly-hacked-to-deny-paytm-hack-claims/ <comment><AUTHOR> These are the same hackers who had hacked Indian Prime Minister's Modi twitter account today.</comment>


Early epidemic detection from Google Flu Trends - <AUTHOR> http://www.dritte.org/flubreaks/

<comment><AUTHOR> Google Flu trends (Nature, Aug'08) tracks the query volume of the symptoms of a disease like Flu; its a pretty neat idea, especially for countries that do not have a CDC-scale disease surveillance system. An important question is whether/how such a surveillance method can be used for early epidemic detection.

In our work, we augmented the capabilities of Google Flu Trends by evaluating algorithms that can translate the raw search query volume produced by this service into actionable alerts and developed Flubreaks, a live system that uses Flu Trends data: <http://dritte.org/flubreaks/>

</comment><comment><AUTHOR> Joe Google Flu Trends is pretty good at tracking geo-mapped disease trends. They track all related queries (symptoms, drugs, treatments etc). Take a look at the nature paper they wrote in 2008: [http://www.nature.com/nature/journal/v457/n7232/full/nature0...](http://www.nature.com/nature/journal/v457/n7232/full/nature07634.html) . The trend are fairly nicely correlated with CDC data. Our system takes these trends and convert them into epidemic alerts.

<comment><USER2> Supposedly, San Francisco has reached "Epidemic" scale in flu outbreaks... How is that categorized? What's considered an epidemic? I live in San Francisco and have yet to notice any peers with the flu.

<comment><USER3> Hi, the whole point of the system is to determine early if there is an outbreak. So that the health officials can take pre-emptive measures well before we reach a point where you start seeing sick people around you. If you can see people with flu like symptoms around you then there is no need for the system as you, yourself can tell that it is an Epidemic. An epidemic means higher number of patients with Flu like symptoms than there should be in a particular time period. The system caters for seasonal increase in the number of patients.

</comment></comment></comment><comment><USER4> News reports in Hong Kong can result in queries in Louisiana. Not sure there is a geo-location link between Google queries and symptoms experienced.

How about queries regarding drug store locations or treatments? That might translate to geography. Or maybe that's already what they do?

</comment><comment><USER5> Great work !!

This system has full potential to help the masses.

</comment><comment><USER6> Is there a way to get a notification if your region is trending?</comment>


Measuring the brightest iPhone ever: iPhone X - <AUTHOR> https://justgetflux.com/news/2018/02/16/OLED.html <comment><USER2> Co-author of article here. Some notes:

* Light levels matter a lot, and we are trying to move the discussion to objective (and impartial) measures rather than talking about colors and subjective impressions

* Yes, our surveys of viewing distance (5000 people) were done in imperial, so we describe it that way for an English-speaking audience

* Yes, metamers are real - two spectra can stimulate the cones identically but be different to the non-visual system. We are comparing screens with identical luminance and 2-degree observer chromaticity matches, and the melanopic response does in fact vary

* The SCN has a logarithmic dose-response to light, so indeed 20% isn't that much. But 2x is an important change to talk about

* Our goals do not include making screens redder, but to improve outcomes for most people. We think the way to do this is by improving the contrast between day and night, and that this means that many of the the lights in the world should use timers that people can adjust based on the outcome they want

* The biggest surprise here (and the impetus for the article) is "wow that's more than double" when you first measure the phone, because the iPhone X doesn't feel that much bigger than an older phone

* Defaults certainly matter, especially when a product implies it will improve your sleep

<comment><USER3> First, thanks for writing and sharing this.

Since many here uses desktops I wanted to share a small tip, but first an anecdotal observation: I got my first computer at age 10-11 back in the 80s (a VIC20) and we only had a 50Hz (Europe) interlaced 21" TV as a "monitor" at that time. After using it a few months even my teacher pointed out I was getting dark circles under my eyes. My sleep was getting worst. Many years later and years in front of computer screens I also found that I had gotten delayed sleep-phase syndrome as well - this at a time CRTs was the norm. For those who say that this light is not enough to affect sleep, I would say you're wrong. But that's anecdotal..

As to the tip: here is what I did - in your color management settings, create a ICC profile which turns off almost all blue and most green. This will leave you with a darker orange color which is perfect if you need to sit late and work. This also affect _all_ programs on your screen. You can also use tools to create ICC profiles that inverts bright colors etc.

Now you can simply toggle between your normal ICC and the dark/orange one.

<comment><USER2> Also we know that pre-teens are more than twice as sensitive to light as people in their late teens [1], and CRTs were 9300K also [2], though they were quite a bit dimmer than current ones.

1\. [https://academic.oup.com/jcem/article/100/11/4067/2836092](https://academic.oup.com/jcem/article/100/11/4067/2836092)

2\. [https://fluxometer.com/rainbow/#!id=NEC%20Diamondtron%20CRT/...](https://fluxometer.com/rainbow/#!id=NEC%20Diamondtron%20CRT/6500k-diamondtron)

</comment></comment></comment><comment><USER4> I'd like to see some data about the measurable effects of this melanopic light. The measurements provided in this article all sound plausible, but they wouldn't be as scary as they sound _if_ , hypothetically, it turns out that a 20% increase in melanopic light in this range has little or no measurable effect on sleep. It could be that going from zero melanopic light to that of an older iPhone has a large effect, but that a further 20% increase has little or none. I'd really need to see some data.

<comment><USER5> You're unlikely to get impartial information from the people making flux. Their whole goal is to sell something that is an OS feature, but their version is more red.

<comment><USER6> In fairness, flux was around _before_ (by seven years) the OS feature.

<comment><USER7> flux hopefully is the reason for the feature to exist in the first place.

personally i can't use a computer without flux anymore. my eyes hurt.

</comment></comment></comment></comment><comment><USER8> > _Night Shift's default setting is not capable of dialing things back to the > level of the old phones with Night Shift turned off._

What about a non-default setting? Night Shift gives a whole range of color temperatures. This feels like FUD if you're still able to set Night Shift to a level of blue/green light comparable on previous models... and the article doesn't even address this.

</comment><comment><USER9> Using Accessibility settings and Display Accommodations, you can Reduce White Point (to any slider value) and it makes a big difference at night.

<comment><USER10> I wish there was a way to save these settings and quickly enable via control center.

<comment><USER11> You can make Reduce White Point one of your 'accessibility shortcuts' to activate with a triple click of the right button. You can add multiple items as well and a triple click will pop up a prompt for which you want to enable

<comment><AUTHOR> That feature's really great. You can add grayscale and smart invert and make a superb reading mode.

</comment></comment></comment></comment><comment><USER12> I'm _extremely_ sensitive to screen brightness. I can't leave auto-brightness on, it just never picks the right level of backlighting. Using multiple monitors was extremely annoying until I made a keymapping to change the faux- brightness of all three monitors at the same time.

F.lux is great. I keep a MacBook around solely for Darkroom mode, it's the only way I can use a computer at night without it messing me up the next day. I can't really use my phone for anything anymore other than playing Threes on Dark mode, it's just too bright. I reach for the MacBook if I want to browse Quora or HN. What sucks is that I can't just leave f.lux in Darkroom mode, I always have to switch it on.

There's a 'flow' I can get into at night, if it works right, I can stay awake and aware and intellectually engaged, without sleeping, and the next day I don't feel sleep deprived. It's a bit of a moving target, this last week I've been sleeping really hard.

</comment><comment><USER13> Is there any proof that the change of color by programs like flux or built-in OS "night-light" features improves anything?

<comment><USER14> I'd be surprised if it doesn't frankly. The blue-light effect on the circadian is well documented science. Don't think anyone is challenging that.

...and turning on flux makes the screen decidedly less blue-ish even by a non- scientific eyeballing so I'd be very surprised if it doesn't check out on a broad level.

Whether it delivers the tangible results promised is a different question.

Broadly speaking I've noticed a correlation between late screen time and bad sleep (or rather falling asleep).

<comment><USER13> >Broadly speaking I've noticed a correlation between late screen time and bad sleep (or rather falling asleep).

Your observation could be due to the placebo effect. That's why a study is warranted. A yellow post-it could have similar effects if everybody constantly said that having a post-it on the display frame prevents circadian rhythm disruption.

</comment></comment></comment><comment><USER15> OLED is also capable of going much dimmer and retaining contrast than LCD. Something I've always been jealous of Galaxy phones for.

<comment><USER16> I confirm that. My old Galaxy S2 could get much dimmer than my new Sony, even with one of those night filters switched on.

</comment></comment><comment><USER17> I have mixed feelings about this. Flux team did contribute to the popularization of this trick, and they were of much help to me for years. But really, inasmuch as this is useful at all, this must be an inbuilt OS feature, so their project is kind of doomed.

<comment><USER14> >so their project is kind of doomed.

Agreed. Can't see this being very difficult to duplicate for a skill say Windows dev. As they say in finance circles...it's got no moat to keep competitors at bay.

[Rumour time]

I've seen (unsubstantiated) rumours on the interwebs that people are seeing different blue light results between flux and (windows) built in when measured with hardware meters. Seems unlikely to me, but thought I'd throw it out there.

</comment></comment><comment><USER18> This f.lux stuff is really starting to cross the uncanny valley from well- intentioned concern to junk science conspiracy theory.

First of all, the idea that you "can't see" the differences in the light emitted by OLED vs. LCD is just absurd. It's called white balance, it's well understood, and any person with at least one functioning eye is going to pick out most OLED screens as having a blue/green tint to them.

To correct for this, the iPhone X was the first generation of Apple phone to adopt "True Tone", which matches the white balance of both OLED and LCD screens to that of the ambient environment. How convenient that they took the time to conjure up some bespoke metrics, but somehow didn't get around to mentioning this headlining feature of the iPhone X that has quite a lot of relevancy to the subject area. I'm sure it has nothing to do with the fact that it stomps all over the point they're trying to make.

As to "Night Shift" not making enough of a difference at the default setting... yeah, you know that you can _change_ default settings? Indeed, with one finger swipe, I can spray tan my phone screen so hard it gets elected president. Turns out I don't need f.lux after all!

<comment><USER19> No, the "white balance" isn't sufficient. Spectral power distribution is what might as well be an infinite dimensional space, whereas trichromatic vision is (in a simplified model anyway) 3-dimensional.

You _can_ see the difference between lights if you look through a diffraction grating, though.

There are light sources with very dramatically different spectral power distributions which appear to have the same color if you look directly at the light. These can have substantially different impact on circadian rhythms, brightness adaptation, etc.

Spikier light spectra have an additional problem for color reproduction (unrelated to sleep) which is that they amplify differences in color vision between different observers; everyone's vision is just slightly different, and if you use very spiky spectra for primaries, the result is that all of the color relationships (say of some photograph) end up looking at least slightly wrong for most people (where "wrong" here means different from what the creator of the image intended). The new phones are just getting toward a spectrum which is spiky enough where our simple models of color reproduction start breaking down; the next-generation gamuts specified for film etc. ([https://en.wikipedia.org/wiki/Rec._2020](https://en.wikipedia.org/wiki/Rec._2020)) are beyond that point.

Personally I wish there was less of a rush toward the largest possible color gamut. In marketing and lay understanding larger color gamuts are strictly superior, but (like with many engineering decisions) there are actually serious tradeoffs involved.

see e.g. [https://www.ingentaconnect.com/content/ist/cic/2014/00002014...](https://www.ingentaconnect.com/content/ist/cic/2014/00002014/00002014/art00003)

<comment><USER20> This is really interesting. So far I've been looking for the widest gamut monitors as possible, but I guess it's not that simple.

So is there any way to have a wide gamut without getting different results for different people? I can only think of adding more primaries. Or maybe using some "flourescent" material to try and shift the primaries to match a specific viewer?

<comment><USER19> Yeah, if you use 7 or 8 primaries you can do a lot better.

</comment></comment></comment></comment><comment><USER21> Skimming through the article I noticed that the author uses imperial measures instead of metric. In the scientific world, that's a sign of a poor work.

<comment><USER22> Really? I get that it's not the norm, but to judge the whole piece _purely_ on the choice of units seems rather judgemental. The imperial system, while unconventional, still works fine.

<comment><USER23> It works, but it's a warning sign, similar to a scientific paper not written in LaTeX or without a list of citations at the end is likely to have significant issues.

<comment><USER22> If you have so many papers to go through that you've started using such 'virtue signaling' as a means of filtering through them all, fine. But to apply such a method and then _take the time to comment about it_ completely defeats the purpose.</comment></comment></comment></comment>


Letting go of your data - or how I learned to love the MongoHQ and Heroku - <AUTHOR> http://kent.posterous.com/letting-go-of-your-data

<comment><USER2> I run my own servers. It is not that difficult and while it can take up time, it is also a very valuable experience. The biggest benefit: I learned a lot about server administration, stuff that gives me an edge when doing development. I also learned a lot about operations. Most system admins that I encounter are happy to discuss server arrangements with me, rather than scuffing at "another silly developer who doesn't know mysqld from grep".

I also know the exact limitations of my hosting platform: I know where and when things are backed up. I know who has access to the users' data. I know what kind of redundancy is built-in.

If you want to focus on "building a kick ass application" get yourself a cheap VPS, install Debian or Ubuntu on it, and start coding. Once you get to the point where you are paranoid about your VPS provider disappearing or having downtime, set up a hot standby with a different provider and automatic failover.

<comment><USER3> Unfortunately, the periods when you need extra power because your 'kick ass application' has had some excellent publicity will enviably occur in the middle of the night, or when something else is on your plate forcing you to divert technical resources when you can spare them the least.

Infrastructure issues kick you when you are down.

'The cloud' is still in its infancy, but the goal is to let you sleep soundly at night. Its getting there, but has some distance still to go.

<comment><USER2> In my experience, scalability issues are often rooted in either not understanding your infrastructure, or not testing it. My WordPress blog survived a pretty heavy Reddit effect with no caching enabled and "only" 6 PHP processes. Similarly, my other applications seem to scale fairly well on VPSs with under 1GB of RAM. Knowing the infrastructure causes me to profile and optimize frequently.

My other issue with the cloud is the vendor lock-in. Google App Engine is pretty cool, but who else provides Big Table support? Amazon's datastore is similarly unique although AWS lets you run MySQL at least. Lastly, I found that it is cheaper to run your own VPSs. The AWS is at least twice as expensive for the same amount of RAM.

<comment><USER3> You can test all you want, but spikes in demand can still take you down. I dont care how big your VPS is, there will be a point that it can't take anymore, and in real life, that point will probably be sooner than your testing will predict.

I repeat, infrastructure problems will kick you when you least need it.

You have a point about lock in, but there are many cloud providers that just supply hosted versions of open source software (amazon RDS, mongo HQ) so you can still use the cloud, but have the ability to take your data away with you.

</comment></comment></comment></comment><comment><USER4> This is how I ended up with lots of data in a difficult to use AppEngine datastore.

Proceed with caution.

</comment><comment><USER5> "There is no cloud, just other people's hard drives" \-- unknown

</comment><comment><USER6> "Letting go of your users data". :)</comment>


Paying Down Technical Debt - <AUTHOR> http://devops.com/features/paying-technical-debt/

<comment><USER2> Nice!

BTW: I am the author of an upcoming book on technical debt. I am looking to include case studies on technical debt in the book, and am looking for situations where there technical debt had an impact of at least $1 million (either gain or loss).

I'm a regular member of the HN community, so this isn't blind spam. I would like to request that if anyone has a story like this, that you reach out to me -- tim @ my-HN-username.com . I'm happy to have a totally off-the-record discussion if that works for you.

Thanks!</comment>


Libyojimbo: Library for creating secure client/server network protocols over UDP - <AUTHOR> http://gafferongames.com/2016/06/17/introducing-libyojimbo/ <comment><USER2> Newer link! [http://gafferongames.com/2016/07/21/launch-of- libyojimbo/](http://gafferongames.com/2016/07/21/launch-of-libyojimbo/)</comment>


Ask HN: Why nobody uses .uk domains? - <AUTHOR> <comment><USER2> The .uk domain used to not be available directly. You could only register .co.uk, .org.uk, and a couple of other subdomains of .uk. Since 10 june 2014, direct registration under .uk is possible, but there's a reservation period for existing .co.uk and other .uk subdomain customers to claim their existing name on the .uk domain.

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

</comment><comment><USER3> I don't think you can get just a .uk. I'm pretty sure it has to be .co.uk which is a few extra characters thus making it a bit unattractive. Also, I think only UK residents are allowed and have to be approved, similarly to how Canada's .ca works. I'm not 100% sure though.</comment>


WebGPU Shading Language - <AUTHOR> https://gpuweb.github.io/gpuweb/wgsl.html <comment><USER3> Some context: browser vendors are working on a successor to WebGL, and there's been a debate over what shading language to use.

A text based language would be easier for beginners (since they wouldn't need to install a separate shader compiler) and would avoid sites that need dynamic shaders having to download and run a shader compiler in the browser.

Using SPIR-V bytecode would benefit from a large amount of work put into an existing standard and an open source compiler ecosystem that many companies are already using.

It looks like a decision has been made to accept a text based language, but one that is defined based on SPIR-V semantics and is easily convertible back and forth from SPIR-V. This seems like a great trade off since if it works out it should have the main advantages of both approaches.

<comment><USER4> Is there really such a great need to make the lowest level shader API more accessible to beginners? You can always build things on top that make a low- level API more friendly, but you can _never_ build something below the lowest available level (short of inventing a new standard). What kind of beginners are these that want to do low-level shader programming, but without any tooling? Don't web programmers already accept the use of heavyweight build tools even for their plan old ordinary Javascript?

My enthusiasm for seeing yet another GPU language is very restricted. I simply cannot see the rational arguments in favour of this design. We were _so_ close to having a standard IR for this stuff.

<comment><USER5> Knowing Vulkan, WebGL, and OpenGL and working a bit with some of those technologies while hobbying the others, WebGPU will take about a decade to be fully adopted, and even then, only by a fraction of companies that are willing to spend manpower resources into developing something interfacing low level graphics directly.

<comment><USER6> WebGPU is important for game engines, currently it is missing a lot of features so you can't write the shaders you want.

</comment></comment></comment></comment><comment><USER7> So this is in a weird place. It's trying to be a floor wax and a desert topping, that is, both a compile target and a human writable language, and the committee is having trouble deciding the vision and goals for the language.

You can see some of that contention here, [https://github.com/gpuweb/gpuweb/issues/586](https://github.com/gpuweb/gpuweb/issues/586) , along with other issues filed.

This is going to be a bumpy ride. I hope it turns out okay.

<comment><USER8> Based on the current version of the "Goals" text it's more of a SPIR-V surface syntax: "Trivially convertable to SPIR-V"

Sounds like a good thing at first blush, if shaders can be then decompiled to this in debuggers etc.

<comment><USER7> Apple is pushing back on that wording. [https://github.com/gpuweb/gpuweb/issues/582](https://github.com/gpuweb/gpuweb/issues/582)

</comment></comment></comment><comment><USER9> The funniest (and saddest) thing about WGSL is that we realized there is a lot of confusion and tried to make a FAQ quickly to address that, but it got split and stuck in reviews:

[https://github.com/gpuweb/gpuweb/pull/562](https://github.com/gpuweb/gpuweb/pull/562)

[https://github.com/gpuweb/gpuweb/pull/576](https://github.com/gpuweb/gpuweb/pull/576)

</comment><comment><USER10> We need optional SPIR-V shaders in Chrome's and Firefox's webgpu implementations, so that websites that use it wouldn't work on retrograde NIH text-based Apple platforms, forcing them to implement SPIR-V eventually.

Such standards politicking, creation of unneeded entities/standards is basically a "tech sin". They are sinners!

<comment><USER9> There are no technical issues with us having an extension that allows SPIR-V binaries to come in. It's a political issue, however, since it weakens WGSL positions. We'll be talking about this more with Google.

</comment></comment><comment><USER11> So it's a new language for generating SPIR-V? Is this driven by shortcomings of GLSL and HLSL?

<comment><USER12> It's driven by Apple hating Khronos, so we all have to come up with a new, non-Khronos thing if it's to be used in browsers made by Apple.

<comment><USER13> That seems a bit harsh. Isn't WebGPU to WebGL what Vulkan is OpenGL? It's the next generation of more efficient 3D rendering pipeline.

<comment><USER12> Yes, but if you follow the discussions, the clear consensus was to use SPIR-V. Except Apple, who came up with all kinds of technical reasons not to use it, before eventually admitting they have a legal dispute with Khronos group. Now we get this weird language that is SPIR-V in text form but not by Khronos, and suddenly there is consensus.

<comment><USER11> _> before eventually admitting they have a legal dispute with Khronos group._

Interesting, that's the first time I hear about it. Do you have some links on the topic? What is the essence of the dispute?

<comment><USER12> From the meeting notes [1]:

MS: Apple is not comfortable working under Khronos IP framework, because of dispute between Apple Legal & Khronos which is private. Can't talk about the substance of this dispute. Can't make any statement for Apple to agree to Khronos IP framework. So

1\. [https://docs.google.com/document/d/1F6ns6I3zs-2JL_dT9hOkX_25...](https://docs.google.com/document/d/1F6ns6I3zs-2JL_dT9hOkX_253vEtKxuUkTGvxpuv8Ac/edit)

<comment><USER11> Weird, but at least it explains why they are causing a problem.

<comment><AUTHOR> Apparently it goes back to how Apple wanted to evolve OpenCL after releasing it to Khronos.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Are we missing f64 and other 64-bit integer types because of... JavaScript? Again!?

<comment><USER7> GPU's rarely have double precision arithmetic.

<comment><USER15> Which GPUs do not have double precision arithmetic? As far as I'm aware, all of AMD's and Nvidia's from the last decade have double precision support. It may not be fast, but it's there.

<comment><USER7> Right, the desktop GPUs have support for float64, but it's not exposed in HLSL/GLSL to the best of my knowledge. "precision highp float" in GLSL will get you 32-bit on all vendors AFAIK, you have to use OpenCL/CUDA for 64-bit floats, but it's way slower and actually sometimes emulated.

None of the mobile GPU vendors (Apple, ARM Mali, Qualcomm, PVR, BroadCom) support it. You can see that here, where the only vendors supporting shaderFloat64 in Vulkan are desktop GPUs. [http://vulkan.gpuinfo.org/listdevicescoverage.php?feature=sh...](http://vulkan.gpuinfo.org/listdevicescoverage.php?feature=shaderFloat64&platform=android)

<comment><USER16> 64 bit support has been around on the desktop for a decade at this point (Through OpenGL4 / GL_ARB_gpu_shader_fp64 / cl_khr_fp64).

Unfortunately it is not exposed in Firefox or Chrome, even if the underlying hardware supports it. I think this is creating a chicken and egg problem - <USER2> WebGL were to actually support the capabilities of the underlying hardware, maybe there would be more interest in deploying 64-bit extensions on other platforms like mobile. Even emulated support would be a win, compared to having every developer emulate fp64/i64 themselves in GLSL.

So I am also disappointed in this proposal's failure to mention 64-bit support, even as an extension. At least they're reserving the keywords, I guess.

</comment></comment></comment></comment></comment><comment><USER17> That syntax is freaking ugly. Should've made it more like C and GLSL.

<comment><USER18> That was my first thought as well. I wonder what the rationale for this divergent syntax is.

</comment></comment><comment><USER19> I just wish it had support for double and int64. So much great stuff that you can do with 64bit atomic operations that aren't possible with 32 bit atomics.

</comment><comment><USER20> A webkit blogpost from 2018 claims SPIR-V may not be possible to fully secure in a web context. I'm uncertain of the progress or if the original claim was legitimate, but I believe the current experimental implementations of WebGPU do not protect against raw gpu memory access.

[https://webkit.org/blog/8482/web-high-level-shading- language...](https://webkit.org/blog/8482/web-high-level-shading-language/)</comment>


Multiply Loyal Computers: Capabilities as alternative to Disneyfication - <AUTHOR> http://www.cap-lore.com/CapTheory/Zittrain.html

<comment><AUTHOR> This is a bit easier to appreciate in Readability: <https://www.readability.com/articles/s62affyi></comment>


Ask HN: Comparing a C-level equity-based offer to my salary-focused current comp - <AUTHOR> I didn't grow up in the US so throughout my career I continued to had to learn about the intricacies of the American employment system including compensation packages.
I feel I am at a new learning point right now as I am considering a C-level role for a series G startup I really admire.
Below is what my current package looks like today as well as what the initial offer of the startup company stands at.
Through my naive eyes it feels I would be falling short quite a bit in the new environment wrt compensation and taking on a lot of the risk (with an IPO/sale uncertain for decades)
My mindset is I would need to negotiate the offer quite a bit up with respect to base to make it feasible and more comparable. However, ppl more familiar in the startup industry consider it a moderate offer even against what my current package looks like right now.
Knowing a lot of it comes down to personal preferences, are there any individuals here that can give a rough qualitative assessment how they'd compare the two aspects and what negotiation items to potentially prioritize - happy to provide any clarification as far as anonymity is retained. Also, if there is anything missing I should make sure is clearly defined I welcome any input.
State: California
Current:

  * President title
  * 415k Base
  * 10% average yearly bonus
  * 10k yearly training stipend
  * 10% discount on stock options
  * 401k matching
  * 80% travel
  * 9mos severance
  * Standard healthcare insurance
  * 24 days of PTO + close between Christmas and New Year
 New:

  * C-level title
  * 300k base
  * 50% target bonus
  * Equity 0.0033 (200k ISO shares out of 60M)
  * Traditional vested over 4 years
  * Strike price 3.40$
  * Current evaluation price $9 (550M)
  * Limited travel
  * 6mos severance after 12 months
  * No 401k
  * Standard healthcare insurance
  * Unlimited PTO
 <comment><USER2> I'm not a C-level exec, don't know the difference between a C-level and President title and this is way more than I get paid, but the new offer seems reasonable, particularly if the 50% target bonus is a reasonable target.

I think you may also be undervaluing the equity significantly. IPO/sale timelines are getting longer (hell, you say they did a Series G! round), but there is likely to be a private market for the stock at this point, and since they're giving you what is ~300k in stock compensation/yr on paper, it shouldn't be hard to get enough value out of that to eclipse your previous comp, and this number should basically grow year on year if the company continues to grow.

I wonder how you feel about the severance situation; my impression was that large severance for C-level positions was due to the difficulty of finding another one if things fall through, and yet the startup offer doesn't have the severance kick in for 12 months, which is when it probably most likely to not work out.

I have a hard time imagining a Series G company without a 401k, do you mean they don't do a match, or have they really managed to go that long without setting one up for employees?

But anyway, the package seems fine to me, if this company works out and you succeed there; the biggest risk to me seems like something going wrong and you part ways before 12 month are out and you don't get any ISOs and no severance and no bonus. So it basically sounds like it could be a 50% bump, but only if you can execute the way they expect you to and a very bumpy ride otherwise. I would be more concerned about how good a fit you are for the role than the exact comp.

<comment><AUTHOR> Great input. To answer your questions.

\- There is no 401k but the idea is to put one in place by end of year per leadership \- There is no private market in place yet but that is also meant to change end of year; I am not entirely familiar with the concept and how this impacts the comp evaluation \- Re: severance - agreed that I am taking all the risk here given my current severance and I would need to see at least a 3 months severance in the first 12 months \- Historically all my employers over-promised on bonus payments; is it legitimate to ask for their track record on target bonus payments on the C-level? \- Great point on the fit; I consider it strong and am closely aligned with the vision of the company so that is a big plus

<comment><USER2> > There is no private market in place yet but that is also meant to change end > of year; I am not entirely familiar with the concept and how this impacts > the comp evaluation

A company may decide to join/setup some private market to make it easier for insiders to sell their shares, and also know the price being offered for them, but this is not a prerequisite to selling shares. Even if the company doesn't follow through, you should be able to sell your shares to a private buyer. It's a pain in the ass and the company has a right of first refusal, but with 98% certainty you will be able to turn stock in a late stage company into cash.

> Historically all my employers over-promised on bonus payments; is it > legitimate to ask for their track record on target bonus payments on the > C-level?

I definitely think it is fair to ask about track record, but you should also ask how you will be evaluated. I don't know if there are clear targets in your line of work that you will be measured against or not, but it might be clearer how achievable that is depending on how they plan to evaluate your performance wrt targets.

I've found US companies to be surprisingly good at paying bonuses to engineers, though they are not 50% bonuses so maybe they don't care as much to play games.

If I were you I would get to know how pre-IPO stock works in a bit more detail, it's a very big part of this offer. Assuming the numbers you have are right it's ~280k/yr in ISOs. The biggest question you should answer is where the $9 came from. If they just took the headline valuation number from their last funding round and divided it by the number of shares, it is probably an over-estimate since investors over-pay in terms of valuation to secure downside protections like liquidation preferences. You should learn what liquidation preferences are; you could try ask the company about what liquidation preferences/etc investors have, and maybe they'll even tell C-level hires :)

Depending on how much research you want to do, you could try and do some research on how much a private investor would pay for shares in the company now to get an accurate view of how much the stock is really worth today. But this might be getting in to the weeds. You could ask the company too, though I dunno how much help they would be. Most companies internally price some optimism into their ISOs when handing them out.

<comment><AUTHOR> Thanks again!

> You should be able to sell your shares to a private buyer.

Is there a particular "terminology" to this ability I should ensure I confirm with the company?

> you should also ask how you will be evaluated

Great point and on my list.

> The biggest question you should answer is where the $9 came from.

It is indeed the number from the latest founding round 2 years ago so I assume it to be high.

> you could try ask the company about what liquidation preferences

Assuming this relates to preferred stocks and if they have been issues to investors? On my list of questions.

> Depending on how much research you want to do, you could try and do some > research on how much a private investor would pay for shares

Any idea how you would go about it?

Thanks again for your great input. Much appreciated.</comment></comment></comment></comment>