Hindley-Milner Type Inference (2012) - <AUTHOR> http://steshaw.org/hm/ <comment><USER2> Ocaml use Hindley-Milner type inference. I was taught programming with it and ended up deeply spoiled.

I could not understand why most static language required writing so many types that were easy to deduce and why people where saying that not having to write types made dynamic language better.

I can count on the finger of my hands the number of times when I needed to write explicit types in Ocaml (my single use case for explicit types in Ocaml was data deserialization).

Plus, the compiler is fast.

<comment><USER3> Just curious, how would one handle something like this in Ocaml:

      x = function() {
            if (rand() > 0.5) {
              return "abc"
            } else {
              return 2.01
            }
          }

So far, union types and boxing/unboxing are possible answers. Would type inference work in this case? (well, it would for boxing/unboxing but union types?)

<comment><USER4> Type error. your lambda doesn't have a valid static type signature. You would wrap that around a union type:

wtf = A of string | B of float

And then you'd return A("abc") or B(2.01) and your function would be () -> wtf

<comment><USER5> Why's it a type error rather than inferring a sum type?

<comment><USER6> You can get it to infer the sum type by giving tags to your values with backticks, like `A 1.23 and `B "foo". This will be inferred as "`A of int | `B of string" without you having to declare any type. Without those tags, the system assumes you have made a mistake in returning values of separate types. If it didn't do that, you would not get type errors in many/most (all?) of the situations where you want the type system to help by indicating the inconsistency to you.

<comment><USER5> Giving tags seems like declaring a type though?

<comment><USER7> It's not though. If we think about Result as an example, `1`, `Success(1)` and `Failure(1)` are different values, not just different types.

I think the point you're making is that Standard ML has certain restrictions in its type system that are necessary to make type inference possible: there are no union types, no subtypes (more recent work has found a way to make subtyping compatible with full H-M), polymorphism has to be introduced explicitly with `let`, and there are no higher-kinded types. And in some cases you'd argue those restrictions might incur more code overhead compared to a language that loosens those restrictions at the cost of less reliable type inference (e.g. Scala).

That's sort-of-but-not-really true: in my experience union types and subtypes are always bad ideas and there are better alternatives for any use case where you would use them. You never actually want "String | Int", you want a type with meaningful semantics (like `Result<String, Int>`).

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Local type inference can give you 90% of the benefit at a fraction of the cost of a global type inference system. Simply introducing local variable inference probably captures 50+% of that and it's the simplest programming trick I ever saw.

When I first came across it in the gosu code base ([https://gosu- lang.github.io](https://gosu-lang.github.io)) I said:

"Wait. That's all you do? You just take the type from the right hand side and then put it on the left hand side?"

"Yep."

"That's type inference?"

"Yep."

It called into question many aspects of my computer science education.

<comment><USER9> I agree. C++ has had some form of local type inference when it comes to inferring template types, but in C++11 the auto keyword makes a tremendous improvement.

Even in Haskell where global type inference is supported, people end up putting type signatures on all top-level declarations because doing otherwise makes code less readable and makes type error messages way too confusing. Global type inference means a single type error in a single function can be propagated by the compiler to arbitrarily faraway at the call site, or even several layers deep in a call site. Solving such errors resulting from global type inference simply isn't worth the time.

<comment><USER10> I've never written Haskell but I'm a Agda programmer (a Haskell dialect with dependent types) and I _almost_ always put all the types and don't rely on type inference. The obvious exception is if something quick like

      a = b

otherwise I'd always do

      a : Some -> Type -> MoreType
      a = f b

Readability is a reason why. Types are _extremely_ pedagogic tools. I believe when I think about my code, I just think about types. I don't think about computation, just the topology of types. Can I go to Int from X. If not why? This is very different than when I write Python code. So seeing types in code helps me a lot understand what's going on.

But the real reason is: errors. It's _so much_ more easier to understand errors when types are explicit.

<comment><USER11> so, I'm curious, do you write the type of the function first?

When I used to write haskell, I'd very often write a function, iterate on it until it did what I want, then infer the type of the function and insert that into the program. Now, I was relatively new to haskell, so was probably less comfortable writing types than reading them (so I assume it was nicer to have the compiler do that for me, eyeball it to check it's what I meant to do, and put it in).

I'm wondering if someone more familiar would think "alright, what type do I want my function to be", fill that in, and then write the type out?

I definitely agree that a program is more readable with types, which is why I always filled them in (I just did it afterwards!)

<comment><USER12> I do both in Haskell. Sometimes I write the types first and sometimes I write the function first.

Usually, the functions with more imperative flavour get their implementation first, and the more functionally flavoured bits get their type first. But that's not always the case.

Sometimes I even write the QuickCheck properties first.

</comment></comment></comment></comment></comment><comment><USER13> The great thing about languages that implement HM types is that they allow you work as quickly or as carefully as you'd like without needing to change languages.

If you've done something a million times before and are familiar with how it works, you can leave off all the type hints, and it'll figure them out for you and stay out of your way so that you can work more quickly. If you make a mistake somewhere, the compiler will still tell you.

If you're doing something new, or don't quite understand something, you're free to add type hints wherever you need them to gain clarity. You can even do stuff like:

        let var: () = ...;

if you have no idea what type something is and just want to ask the compiler for help.

Once you're done, you can tidy up if you think it makes your code more readable. You can still leave top level hints to be kind to your coworkers or future you.

I think the ability to dynamically shift between "cautious exploratory mode" and "reckless I-know-what-I'm-doing mode" at the drop of a hat is why you hear a lot of anecdotes about people using languages like OCaml or Rust as if they were scripting languages.

<comment><USER14> To expand on this, if you use CLion as your Rust IDE it will actually show you the types for all your variables automatically. For example, if you had a line like this:

        let foo = vec![1, 2, 3];

CLion would then show the type in a faded font where the type would go if you wrote it out manually like so:

        let foo: Vec<i32> = vec![1, 2, 3];

This is extremely useful when working with more complicated types such as iterator chain because it lets you see exactly what type everything is without having to manually write it all out and have the compiler check it.

<comment><USER15> That's available with VSCode and rust-analyzer too (but I suspect others that piggyback on rust-analyzer got that ability). It can get noisy fast, but you can toggle hints for when you need them

</comment></comment></comment><comment><USER16> This tutorial seems to miss the level-based generalization optimization, which is crucial for production-strength HM inference. For, that you can look at:

[http://okmij.org/ftp/ML/generalization.html](http://okmij.org/ftp/ML/generalization.html)

<comment><USER17> Level based generalization is a massive improvement in speed - I'm currently writing a Standard ML compiler for fun, and I saw a 30-50% decrease in elaboration type-checking duration when I switched to using levels. And it's not difficult at all to implement.

</comment></comment><comment><USER18> I had to implement this in Haskell while in university, we started with an interpreter for a Scheme-like language, then added static typing and inference.

Parser combinators, monads, monad transformers, curry-howard. Think for 15 minutes, write 5 lines of code, repeat. What I remember is that was code was really elegant but brain hurt so much.

<comment><USER19> Eventually you program enough FP, and then imperative starts to hurt your brain. Programming is much like a muscle. As your program in one paradigm, you brain starts to reason that way, then switch paradigms and you're suddenly struck with a bunch of programming atrophy.

<comment><USER20> Imperative doesn't hurt my brain, but because many operations in FP are generally much more succinct and expressive than in an imperative style - writing in imperative instead just makes me groan about all the manual keyboard-typing I'll have to do (e.g. Linq vs foreach).

I really wish I could do more FP, but the languages and libraries I use for my day-job aren't as-accommodating (mostly C#) - while C# has some FP features, it's really held-back by the CLR's type-system - so until that fundamental plumbing gets done we'll never see features like type-classes, true immutable types, algebraic-types, and so on. Without those features we'll have to keep on writing more code than is necessary.

<digress>Heck, it's bad enough that IDictionary doesn't implement IReadOnlyDictionary - or that none of the IReadOnly* types make any guarantees about immutability, which means having to review documentation or disassembly in ILSpy. And the famed non-nullable-reference-types in C# 8.0 is actually all just syntactic sugar for yet more attributes rather than true code-contracts, a built-in Option type, or extending the CLR's type-system to understand nullability. Grumble.</digress>

<comment><USER21> > while C# has some FP features....we'll never see features like type-classes, > true immutable types, algebraic-types, and so on.

IIRC you just described some features of F#, excepting type classes. Or at least F# gets you closer to the goal.

Maybe the ever elusive F* has that stuff?

</comment></comment></comment></comment><comment><USER22> Why is Damas dropped when referring to HM type inference? Not being critical, just genuinely curious. I imagine there's a good reason.

</comment><comment><USER23> I put 2012 as an upper bound on the year above: [https://web.archive.org/web/20120324053910/http://www.ian- gr...](https://web.archive.org/web/20120324053910/http://www.ian- grant.net/hm/). Perhaps it is earlier?

</comment><comment><USER24> Learnt this in my compiler class.It was the most brutal week of my life.

<comment><USER4> IMO, the most brutal week was realizing that nothing you will ever use on the job will use H-M type inference. Back to smashing rocks together.

<comment><USER25> Take it from someone who has to occasionally work on an over complicated type system which uses HM inference, it ain't all that fun.

<comment><USER26> Could you be more specific? What makes it painful?

(I mean, "overly complicated" is bad news no matter what the specifics of what we're talking about, but how does it cause pain when it's specifically in the types?)

<comment><USER25> For me personally it's just a lot of really heavy and very "meta" code that is really hard for me to reason about. I also touch it very rarely, so there's always a steep learning curve when I'm jumping back into it.

</comment></comment></comment></comment></comment><comment><USER27> If my understanding is correct, type inference producing a set of possible types - instead of a single type - for each term has proven to be undecidable?

This is a shame, because sum types (e.g. Shape := Circle U Square U Triangle) are actually pretty useful, and languages such as Java ended up implementing them via class or interface inheritance. Languages often also required type coercion to deal with things like 0.2 + 5, otherwise + could have had a type signature like: float U int -> float U int -> float U int.

<comment><USER28> If my understanding is correct, yes, it's undecidable.

On practice nobody cares. It being undecidable just means you need an extra check at your compiler to verify the types are converging, and a new error for the problematic case.

</comment></comment><comment><USER29> One of my favorite resources that develop the HM algorithm from scratch is Ben Lynn's[0], who treats it like a series of interview questions, because really type inference algorithms match up two trees into constraints, which can contain concrete types or type variables, then solves those constraints.

[0] [https://crypto.stanford.edu/~blynn/lambda/hm.html](https://crypto.stanford.edu/~blynn/lambda/hm.html)

</comment><comment><USER30> I code both ways simultaneously.

I'm interested in what types I need to solve my business problem. The rest of it, I don't care. The reason I care about the types I need for my business problem is that I don't want my code doing something that it shouldn't: DDD- style coding allows me to code in such a way that it's impossible for the program to exist in a state that's invalid. That's a great time-saver. Other than that, polymorphic coding FTW.

</comment><comment><AUTHOR> _The algorithm, the type system, and some of the logical background are explained in this tutorial, along with an implementation in standard ML._

[http://steshaw.org/hm/hindley-milner.pdf](http://steshaw.org/hm/hindley- milner.pdf) I found this 30 page PDF document very helpful in understanding the Algorithm.

</comment><comment><USER31> One of the principal maintainers of the Racket language once gave a talk, I think it was at the main Clojure conference, on a topic about Typed Racket, where he strongly outlined the reasons why HM inference is a bad idea. It was interesting to hear these differences in philosophies.

<comment><USER32> Would you mind providing a link to this talk?

<comment><USER31> I've been searching for a few minutes and can't find it -- it was several years ago, maybe at least 5 years, and at one of the Clojure conferences (there used to be several big Clojure conferences each year back in the language's golden age, but now there's 0 - 1 per year), and I can't remember which conference.

<comment><USER33> was it this one?

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

<comment><USER31> That looks interesting as well, but it's not the talk I was thinking of.

</comment></comment></comment></comment></comment><comment><USER34> This may be my favourite explanation of the algorithm's logic: [https://stackoverflow.com/a/42034379/20371](https://stackoverflow.com/a/42034379/20371)

</comment><comment><USER35> I'm starting to understand why HMTI, and OCaml/Haskell et. al., struggle from such obscurity despite its fanboys swearing by it. The problem is that it's a crap technology in both easy mode and hard mode.

\- easy mode: beginners just want to learn how to program as quickly as possible, something like python is fantastic for that. And the side-benefit, you can do amazing stuff with it, like bypass whole of symbolic AI of 80s and 90s (including HMTI, OCaml/Haskell) and go straight to deep learning, BERT, GPT what not.

\- hard mode: mathematicians would love a helpful computing system that'll make them more productive mathematicians. When they attempt to explore stuff like Coq, and HoTT etc, the first thing that's thrown at their face is that they have to give up law of excluded middle, non-constructive logic and what not. I'm sorry but the tail does not wag the dog. If your theorem assistants and checkers require the mathematicians to turn their world upside down, most won't give a rat's ass about what you have to say about propositions-as-types and programs-as-proofs.

There is a medium mode, or shall we say mediocre mode, whereby you fall in love with type-theory and type-based languages, you want to live in your own bubble and not be bothered by what's happening in the outside world. And that's were the users of these systems live.

<comment><USER36> > that they have to give up law of excluded middle

They have to give up the law of the excluded middle because the law of the excluded middle is _false_. Counterexample: "This statement is false.". You can _pretend_ it's true by trying to outlaw self-reference, but Godel proved that that doesn't actually work if your logic is useful enough to support arithmetic.

<comment><USER37> I'm not sure what you're talking about, unless you're saying truth _is_ provability. (Classical logic would disagree.)

The Lean proof assistant, which has a pretty strong commitment to constructability, has the law of the excluded middle just fine: [https://github.com/leanprover/lean/blob/master/library/init/...](https://github.com/leanprover/lean/blob/master/library/init/classical.lean#L69)

The caveat is that it only exists in Prop, and it's a consequence of proof irrelevance and functional extensionality. Types outside Prop don't have it for the simple reason that there's no sensible way to construct an element of Either A (A -> Void) in general (this is quasi-Haskell notation, where Void is a type with no terms). I'm not sure there's any need to bring Godel into this....</comment></comment></comment>


Launching a new App Store today, proceeds going to ACLU - <AUTHOR> Hey hackers - We're building Neue Store (http://neuestore.com) to give apps better discovery and give people better ways to get cool apps.
50% of this weeks membership fees will be donated to the ACLU
Medium post: https://medium.com/@frey/introducing-neue-store-for-apps-57d163623f11
Product Hunt: https://www.producthunt.com/posts/neue-store
I started this after leaving Fancy.com where I led the product team. Our apps were listed in Best Apps of the Year from the Apple App Store and Google Play Store. I've since spent the last 2 years watching great apps struggle to be found and I've been trying to help them any way I could. I built app marketing tools, advertising platforms, and redesigned entire apps (for free) to help them, but the bigger problems became clear; the App Stores have mounting problems and aren't built to make app developers succeed. I knew I could build something better.
Here's what's next for Neue Store; in the next few months we want to launch our Reviews and Ratings product and be Rotten Tomatoes for Apps. We believe reviews from credible, verified reviewers would be much more helpful for apps and consumers alike. After this, we have a few tricks up our sleeve for more tools to help apps and app consumers, including support for Android and VR apps.
It is with constant improvements, feedback from developers, and a superior store experience that we hope to build a better App Store altogether.
Happy to chat in the comments. Thank you! <comment> ng-user Not sure if I want to enter my private cell number on a website served over http.

Nvm, I'm sure. I don't.

<comment><AUTHOR> Ah man, you don't know how many times we debated this for beta release! It didn't make the cut for MVP but we're certainly adding it sooner than originally planned now! :)

</comment></comment><comment><USER2> Just some notes from a user:

The text on the app store images is a bit small to read for me, so I zoomed in, and that completely broke your layout.

I clicked on an App I was interested in; didn't really want to enter my phone number and ended up searching for the name of the app; got to the app's website and saw it was iPhone only... and not really something I was interested in anyway, and now I can't be bothered looking through the store to see what apps support Android.

IMO most apps are pretty niche and the challenge in discovery is pretty much the same as ad targeting: figure out which user will want this app apriori. Just being a "good app" isn't that useful...

<comment><AUTHOR> You're completely right and this feedback has been sent to our team. As we're still technically in beta I hope we can implement some changes quickly to make this easier! Thank you!

</comment></comment><comment><USER3> Not the best discovery at first glance, just a bunch of "app store screenshots" without even a name.

Example:

[http://i.imgur.com/zPSLoim.png](http://i.imgur.com/zPSLoim.png)

I might be able to guess what a few of them does, thanks to //their// screenshots (not your website).

<comment><AUTHOR> Right - better ways to represent the apps are certainly being explored ;) Thanks for checking us out!</comment></comment>


PicoVoice-Rhino Help - <AUTHOR> Hello Kenarsa, I saw your comments in one of the posts about Picovoice but since I was not able to comment there for some reason I am creating a new topic here. Looking at the compact offline Voice Assistant that Rhino is, I started to give it a try on RPi-3. The C code available on the github seems to work fine and able to parse the intents through the audio file available in the audio_samples folder. I tried recording few audio files in my voice in the same 16000 Hz Little Endian format but I had no luck in parsing any of those except one. May I know what would be the issue? They are recorded with little/no noise in the background. The Rhino was able to analyze just one file out of those 3-4 voice clips!! <comment><USER2> Looking through [https://news.ycombinator.com/item?id=18201007](https://news.ycombinator.com/item?id=18201007) the user 'kenarsa' wrote: "This is Alireza. I am the founder of Picovoice. [...] happy to answer any commercial questions via email firstname.lastname@example.com" So you could email him/her.

<comment><AUTHOR> Thank you for the advise. I have mailed them and waiting response.</comment></comment>


Productivity hacks of a startup dad - <AUTHOR> http://sahilparikh.com/post/51539972450/productivity-hacks-of-a-startup-dad#.UaRBy2RRlfQ <comment><USER2> What I really like about this is it doesn't focus on hacks around the kids.

I'm sceptical about the idea you could hack being a parent and if you want to you should probably think about whether parenting is something you really want to do.

If you choose to bring someone else into this world, you owe it to them to give being their mum or dad your absolute best shot and not try and cut corners. As Jeff Atwood said of Steve Jobs around the time he quit Stack Overflow "if you're going to f __k something up, f __k up the iPad, don't f __k up your kids".

Obviously there are things you can do (usually around having an understanding partner who will put in the time you can't if that has to happen) but don't fool yourself it's the same as allof you spending quality time as a family.

</comment><comment><USER3> The part I found most useful:

Recently, I have been practicing a new time management technique and I am calling it the "Minimum Viable Daily Tasks". Here is how it works: Choose the minimum amount of work that needs to be done everyday so that you have a big smile on your face when you are heading home in the evening. If you accomplish anything more then it is a bonus.

<comment><USER4> It's hard to call that bad advice... it most certainly is great, until you have nothing left to do that makes you happy. At that point you might either consider yourself a failure or realize that this just is not realistic.

Jobs have ups and downs, and no situation is perfect for anything, whether it's raising kids or maintaining your own particular sanity. Expecting a prescription for "being happy while doing thing x I have not done" to work for you is setting yourself up for failure.

Normally I'd say this is likely to help many people a bit along the way, but raising kids might be the only thing too personal and individual to warrant any kind of "well hey this worked for entrepreneur X in The Ess Vee so it should work for me."

<comment><USER5> I think the point was that setting a goal and accomplishing it puts a smile on your face, not that the particulars were enjoyable per se.

</comment></comment></comment><comment><USER6> I wish there was a guide for dads (or moms) for balancing a one year old running around the house, running a software consultancy, an early stage startup and an MS degree on the side, all from home.

<comment><USER7> Your child is only a toddler once. Blink and you might miss it. You'll regret it later on if you neglect the opportunity to watch your child grow.

<comment><USER2> It's an amazing age too - they're doing new, great stuff all the time.

I say great, it's great if they're your children. If they're someone else's it's obviously dull as dishwater.

<comment><USER7> Indeed. Amazing to watch them discover the world around them!

</comment></comment></comment></comment><comment><USER8> He's quite right. I never equate hours in front of a screen to productivity. Its wrong. I am (for the last 8 years) a dad to 2 boys and have worked in start ups for the last 16 years or so. Sometimes I have to leave early, sometimes I start later, most of the time I drop them off at school, etc. The last thing I want is to come home late to see two sleeping kids and then leave early the next day.

</comment><comment><USER9> Are kids and a family really a big thing before your thirties in the US?

<comment><USER2> The idea of waiting until you're 30 to have kids is a common one but is less simple than most people think.

If you're with someone in your 20s and you both agree to it then it's great, but if you aren't then the whole timing thing is a long way from simple. You're talking about finding someone, checking they're the right someone, settling down, marriage, kids etc. is a pretty long and complex chain to just assume will happen, and you're up against either your or your partners ticking biological clock (fertility decreasing as you get older and dropping off pretty sharply in your 30s).

It's all doable but I would say if your plan is to be having kids in your early 30s, that's a plan that you need to start acting on in your mid 20s rather than finding yourself single at the age of 30 and having to start there.

</comment></comment><comment><USER10> These tips are great because they are not just for parents with kids but for anyone who wants to be more productive.

I especially like the tip around writing down a plan for the next day the night before - I've started doing this recently and it enables me to offload thoughts and worries about the next day and focus on getting a good night sleep.

</comment><comment><USER11>
      Oxymoron (ox·y·mo·ron) is a combination of contradictory
      or incongruous words. For example:

          Early in the morning when everyone is asleep

Between our friends and family I am aware of exactly one toddler that sleeps until 8 in the morning and she is widely regarded as a miracle child for just that reason.

</comment><comment><USER12> Simple, well written, and useful. I think these apply to everyone (with or without kids, startup or not).

+1

</comment><comment><USER13> Put magnets overtop your prefrontal cortex to increase your potential for Flow.</comment>


First "Appstore" for WordPress and Drupal Coming Soon - <AUTHOR> http://melitix.org <comment><USER2> Considering that virtually every plugin for Drupal is available on drupal.org, for free, and that all drupal modules are released under the GPL, I think you're going to have a hard time including Drupal in this. Not to mention you'd likely not even get to use the Drupal trademark without Dries' approval, and I strongly doubt this is the kind of thing that would get that approval.

<comment><AUTHOR> That same thing applies to WordPress. To goal isn't to replace all the free plugins or anything.

Have you ever actually dealt with Drupal and it's modules? The process to install and upgrade them is extremely poor. WordPress is much more technology advanced in that area. The only way to sanely deal with modules in Drupal right now is by using Drush. While using Drush is great and CLI tools will always be needed, other options have an opportunity here.

<comment><USER2> Yes, I have. I am on the drupal.org engineering team. I suggest you look into composer for managing modules. Also there is momentum on building an automatic update system for drupal, ([https://www.drupal.org/node/2367319](https://www.drupal.org/node/2367319)) so, while things can be improved, there really isn't much business opportunity there.

<comment><AUTHOR> Oh that's great. Thanks for all the food work.

Composer doesn't provide the same user experience that some people expect coming from the mobile world, which is the intention here. As for as the background updates Drupal Issue opened, that's absolutely great and I think sorely needed. I hope it gets pushed through. That doesn't solve the issue of installing or removing, or handling billing, across multiple sites. Pantheon has some really good tools built-in but outside of that, there's not much available at the moment.

</comment></comment></comment></comment><comment><USER3> I am not sure HN should be a sounding board for ideas. A better way to do this might be to make a tiny prototype and do a Show HN.

<comment><AUTHOR> What's show HN?

</comment></comment><comment><USER4> "Meetup.com Alternative in the Works (melitix.com)" [https://news.ycombinator.com/item?id=12309589](https://news.ycombinator.com/item?id=12309589)

Are you building two businesses at the same time? Or just two static pages?

<comment><AUTHOR> I'm testing market interests in two different ideas so that I can determine which one would have the best chance at succeeding. Thus, which one to invest my time in.

<comment><USER5> FYI: [https://eager.io](https://eager.io)

<comment><AUTHOR> Interesting, taking a look.

</comment></comment></comment></comment><comment><USER6> This is really strange. Just 5 days ago there was [https://news.ycombinator.com/item?id=12309589](https://news.ycombinator.com/item?id=12309589) which said this was a meetup.com alternative.

This is taking startup minimalism to new levels. i.e just build a web page with no actual code. But this is what Sam Altman advocated in one of his lectures - how these students stuck posters everywhere on campus about food delivery with no product.

FWIW, I upvoted this. Since this is a good experiment in startup thinking

<comment><AUTHOR> This is my first time testing an idea this way. I'm still skeptical myself but as you mention, Sam Altman and the whole Lean Startup philosophy suggest testing this way. I'm looking for my next startup to have the best chance to succeed possible so worth a shot.

I appreciate the upvote.

</comment></comment><comment><USER7> You might want to look at Envato's Themeforest and CodeCanyon

<comment><AUTHOR> I've seen those. This idea would be different then that. Someone commented another site that looks like it might be actual competing site though.

<comment><USER8> You will lose to them. CodeCanyon is well run and established.

</comment></comment></comment><comment><AUTHOR> I'd be happy to answer any questions and discuss ideas with people.</comment>


The New Gold Rush? Wall Street Wants Your Data - <AUTHOR> http://mattturck.com/2017/01/17/the-new-gold-rush-wall-street-wants-your-data/ <comment><USER2> Great article!! And i think it can probably be summed up with the sentence, unless your product has:

\- a long history of data

\- data that has low correlation to other available data sets

\- a very small group of people who have access to this data( ie exclusive deals with a few funds)

Then its unlikely that you will be able to sell your data for any meaningful amount of money.

A few things the author wrote that I think deserve some attention.....

> You do hear the occasional story where a hedge fund paid a couple of > millions a year to obtain a specific data set, and occasionally more. But > there's a reasonable chance that this type of price came with some kind of > exclusive. Also, those contracts also probably have a limited shelf life, as > the value of a data set decays over time, as per the above.

This is very true, almost certainly your data set is not worth millions a year to any specific fund. And if it is, its because you agreed to make your data set exclusive to a single fund.

Each data set requires its own special mess of tools for cleaning it, integrating it, figuring out how to generate a trading signal from it, putting it into production and then once its in production constantly monitoring it not only to verify the data is good, but to make sure it actually benefits the trading system.

I wrote this comment: [https://news.ycombinator.com/item?id=13140352](https://news.ycombinator.com/item?id=13140352) a while ago and it got a very large number of up votes for what was essentially a rant that we're now drowing in data.

Hedge funds today share alot in common with AAA video games wrt to data. You used to be able to make a game with 2 people, then it was 10, then it was 50, then 100, now its 500+ for a AAA video game.

Hedge funds have the exact same issue due to the explosion of data. I know alot of funds that are skipping on data sets, due to lack of bandwidth to consume them all.

> First of all, unless it's already commoditized, you probably don't want to > sell your data to the Bloombergs of the world.

Most hedge funds won't be your direct audience, they'll already have spent money to buy data from Bloomberg and Reuters. The few, say top 100, that might buy your data directly could be your market, but these funds don't exactly have huge sales teams ready to talk to you. Which means you need to hire someone who knows the landscape to sell your data. Your sales team might be the best group of 25 year old Stanford grads around but they aren't getting in the door of most quant funds without an introduction.

This is the website of one of the worlds most successful funds. [https://www.rentec.com/Home.action?index=true](https://www.rentec.com/Home.action?index=true)

<comment><USER3> Also just plain dumb luck. stocks dont trade based on logic like revenue growth so if Trump tweets something negative about Starbucks and the stock goes down, but your data suggested Starbucks sales went up 300% last month, you are in tough luck.

this is also probably why your data is worth much much less than you think. there are very few things that correlate very strongly to stock performance. predicting human emotion is probably more important than predicting revenue growth or number of people who went inside a Starbucks last month.

<comment><USER4> If your data suggest that the stock is trading at a discount due to irrationality, then you have a perfect opportunity to buy lots of an underpriced stock.

<comment><USER5> I think the point OP was trying to make is that, that irrationality may not be easy to capture with automated systems, therefore the value of data is limited by your trading system/algorithm's ability to detect/predict irrational human behaviour. Or atleast that's what I read of it.

<comment><USER6> Yes, the grandparent comment makes a good point. You can have plenty of solid data and still make a losing trade.

But, given enough data-informed trades that would _otherwise_ be proditable, the law of large numbers suggests that an overall _strategy_ will still be sound. You can afford to have the market be irrational here and there if you really are correctly forecasting earnings in advance most of the time.

</comment></comment></comment></comment></comment><comment><USER7> > When I was at Bloomberg, I used to cringe when startup founders would show > up in hoodies, essentially destroying their credibility before the meeting > even started.

I understand you can't roll in looking like a slob but I have to think times have changed and the casually dressed founder wouldn't have a problem, even with Wall Street types.

The cultural differences b/t the two industries are pretty interesting though...

<comment><USER8> People dressed up in suits lose accountability to me. It's like they are over- compensating for something.

<comment><USER9> Does that include lawyers and financial advisors too?

Would you be OK with someone in jeans and a hoodie representing you in court?

Would you be OK handing your life savings over to a money manager who was wearing a t-shirt and flip flops?

<comment><USER10> I deeply enjoy these sorts of distinctions in decorum, and the undercurrents of what it all must imply. It's all this subliminal signaling that tunes the pitch of an atmosphere to cultivate ideas.

Consider the duality of U.S. Marines, contrasting dress blues against combat BDU's. Or any military subculture for that matter.

Snappy dressers are trying to send a message about the money they burn on dry cleaning, and how early they get up to look sharp for their morning cup of coffee. How new their razor is, how orderly their coiffure seems. They have the time for this sort of thing, and they might have the time to waste on _you_ ...if you're lucky.

And then there's nerd signaling. The next twelve hours to be spent scanning text, perched atop a swivel chair in comfortable clothes. Waking up possibly before before noon, because yesterday's dose of caffeine and inspiration carried through until 4:30 AM, when someone got their head bitten off in a forum by some cranky sleep-deprived rage about abuse of notation.

Meanwhile, in a court room, lives are irrevocably altered. People being hauled before a judge, to have their lives taken away from them, because they were born under a bad sign. There can't be any flippant hairstyles among the insiders of such a system. The whole point of showing up is to impress upon outsiders that a stone faced institution housed within a forrest of doric columns shall weigh and adjucate a decision. Clear voices in respectable, classic outfits must deliver verbal pronoucements with the reverb of a cavern older than the dawn of humankind. Janitors have mopped blood off these floors. This isn't some cluttered bedroom filled with the detritus of decades old junk.

Takes all kinds.

</comment></comment></comment></comment><comment><USER11> Suggestions:

\- Make it easy for them to get the backfile, and charge them a lot for fresh data (somehow startups are inclined to do this backwards. They need a few years of data before they even know it's useful, but they can't trade without recent data. Charge them accordingly)

\- It's too hard to negotiate exclusives, but you can make them bid on exclusive access to delays. One second, minute, hour, week, etc. it doesn't need to be complicated but neither should you leave money on the table with too simple pricing

<comment><USER12> Yes, if you want me to buy your data, give me all history up to last year. Then I'll decide.

</comment></comment><comment><USER12> Throwaway for obvious reasons. I'm a quant at a quant hedge fund. I can confirm I want your data. The longer the history, the more I want it. Don't fuck with it much, give me clean but raw info. I don't want PII, but I'll take aggregate and anonymized. Just whatever you do, start collecting it NOW so in 3 years you have 3 years of history to sell me.

<comment><USER13> Do you guys prefer a Master's or a PhD for research roles?

<comment><USER12> Majority are PhD, but definitely some have Bachelors/masters. Care more about quality of education/skills. 4.0 undergrad at MIT vs PhD at rando state U w unknown advisor... no question.

</comment></comment></comment><comment><USER3> "You cannot sell data you don't own. Hedge funds care immensely about the legality of the data."

Thats a shame as this makes this business model almost impossible for the average reader here.

There are loads of outside data that if crawled and gathered could be useful to hedge funds. things like:

\- growth in number of Amazon reviews for a type of product month to month(against amazon tos to scrape them)

\- number of job ads that mention a technology or product (against indeed.com tos to scrape them)

\- google rankings of websites (against google tos to scrape them)

\- growth in total yelp reviews for a restaurant like Mcdonalds month to month (against yelps tos)

which means this business is only for already profitable companies with large user bases.

<comment><USER12> The point is if you're Amazon or Indeed or Yelp (or trying to compete) you can sell the data.

<comment><USER3> thats true.

and the rich get richer..

<comment><USER14> I've heard them called Siren Servers.

</comment></comment></comment></comment><comment><USER15> > The financial services world has its own strong identity, handles massive > amounts of money, and will not necessarily be in awe of your cool startup. > When I was at Bloomberg, I used to cringe when startup founders would show > up in hoodies, essentially destroying their credibility before the meeting > even started.

Who wants wall street awe? Who cares about credibility? Run a goddamn business, not a fan club. If you cared about image, you wouldn't talk about what people wear. It's completely irrelevant to why I'd use your product.

<comment><USER16> > Run a goddamn business,.... If you cared about image, you wouldn't talk > about what people wear.

Let's change perspective - what do you think, how much success will have business with web pages that looks like from 90-ties or products that looks like they are made in basement in spare time? (sure, there are exceptions, but well, they are exceptions :P).

Everything is about image; if I'm going to invest in you, you better be shaved with ironed shirt and good suite. Simply, it's telling me you are serious about your business.

<comment><USER17> I'll challenge this statement. I stopped shaving, ironing, and wearing more than many duplicates of one outfit explicitly so I could get serious about my work. Time is my most valuable commodity, and I intend to use every moment I have attacking problems I care about. I like to think that I don't look like a slob, but by the qualities you cited, you would disqualify me off the bat, and given the rocks I've moved in my industry tenure, that would have been an absolutely misaligned signal and you would have lost out.

Everything is about image _in some professions_ and _in some eras_. I will certainly stand on the side of trying to change that through my own actions, and given that the peers and mentors I most respect have similarly chosen to discard traditional models of image, I find myself in company I'm quite comfortable with.

(And as sister posts have cited, the sheer existence of successful sites like CL, Enom, and HackerNews (which for all its minimalism and polish is by no means a "modern image"; I say this with nothing but pride to be very clear) indicates to me that even in site design image may be a cost function but is no substitute for quality. I have had clients JUMP at products that as you say, look like they're from the 90s, because they solved _real issues_ that they needed solved.)

<comment><USER18> Image still matters. It's just that it's not the same image that matters everywhere. Wall Street? Bring a suit. Silicon Valley? Go for the hoodie, or the same outfit (copy) every day.

Both signal that you're part of a specific tribe. There's a reason major tech conferences are a sea of "jeans & T" people, and it's not just the comfort.

You're completely right that image is not a substitute for quality, but when you're selling something, you ideally want a bond with the customer. So, if you sell to Wall St., look like Wall St. If you sell to engineers, look like an engineer. If you don't sell, wear whatever you like ;)

That's why HN can get away with minimalist design - it's not selling anything.

</comment></comment></comment></comment><comment><USER19> Labor unions maybe going extinct but maybe its time for information/data unions.

</comment><comment><USER20> > The good news is that hedge funds are not advertisers and don't care about > particular individuals

This sounds disingenuous; it's not hard for the author or anyone else to imagine how Wall Street could use personally identifiable information, and the author claims to be at least somewhat sophisticated in the 'big data' field.

Also, it's an industry that has an incredible track record of fraud, even fixing the bedrock interest rates like Libor, prides itself on an anything- goes atmosphere, and disdains regulation.

<comment><USER21> I could see them passing "insider consumer info" on black markets just like they pass insider information. How handy would it be for a life insurance company to know which of its customers is googling for "chest pain" or "$CANCER_TYPE symptoms". A car insurance company would love to know which drivers go to bars on saturday night, or which ones make it from point A to point B in suspiciously low amounts of time.

Wall street could creep into this by saying to either industry: "let _our_ guys crunch the numbers and let _us_ make book on what these rates should be...because _market efficiency_ ". It'll seem like a great idea at first, the data will be "anonymized" (except for when it's not, like when that guy pays a $5k to an analyst at the insurance company for the table mapping "anonymized" customer idns to ssns.

Suddenly hedge funds get really good at guessing which pools should be invested in, or which drivers should be packaged into the high-risk tier. A few years later there's a moderate scandal, a fine is levied equal to ~5% of the illicit gains made, meanwhile the funds have moved on to perpetuate their next round of fraud.

<comment><USER20> Also, learning information about individuals: Big clients, competitors, employees, critics, journalists, politicians, etc. etc.

</comment></comment></comment><comment><USER20> > "No man is better than a machine, and no machine is better than a man with a > machine."

This concept also is popular in the military AI R&D world where the human- computer combination is called a 'centaur' (based on what I've read; I'm not of that world).</comment>


Ask YC: How many people here were regional BBS users back in the day? - <AUTHOR>

Just struck me that maybe the BBS era aligned with a lot of news.YC's hacker beginnings with online computer usage.
I, for one, began initially with a national Commodore community called QLink. I ran up ridiculous bills before hopping into the regional BBS scene, where I met my eventual wife and almost all of my most enduring friends.
What about you? Or are all of you too young for that era? <comment><USER3> Too young?!?! Hah.

I ran my own, of course. Customized version of Color 64 on my Commodore 64, in Greenville, SC. A couple of my friends ran part-time boards (usually 8PM to 8AM), but I paid for a second phone line so I could run 24/7, and I had a second system for my personal use. A stack of 1571 disk drives, 1200 baud modem, and memory expansion. I lusted after a 10GB hard disk, but never had a hard disk until the Amiga days a few years later. I dabbled with a PC board, as well, running...I think it was Wildcat. But it wasn't as much fun to play with. So it was only up for a few weeks.

By the time I moved from South Carolina to Houston, I was an Amiga user, and so spent a lot of time writing and trading MODs with other Amiga nuts in the area. A year later ('93) I started spending time on the Internet, and never started another BBS--redirected the effort into my first website.

</comment><comment><USER4> I wrote the code for moondog BBS (Santa Barbara, CA) - using all but about 10 bytes of memory on a Commodore 64 with a floppy drive. I invented a db system that made us look like a big IBM system. It was really great fun (coded it while in HS).

</comment><comment><USER5> I was a BBS user, and also ran a multi-line TAG board (you probably wouldn't know TAG unless you were from Michigan) for a while. Was a FIDOnet node, and was active on the CyberCrime (I think that was the name of it) that some guy out of FL (I think) administered, plus a few other 'nets that I've long since forgotten.

During my short college stint in '91 I found one of the main patch panels for our campus and patched an unused line to my dorm room to run a small BBS out of the dorm for a while. The dorms were setup then so that 2 rooms shared 1 phone line (and 1 bathroom as well). My dorm room had the shared line, a dedicated line, and "access" to the phone lines of the room above us, as the inhabitants never seemed to be there on weekends and it was a waste to fight over phone usage when there was a free line just sitting there...

</comment><comment><USER6> There were regional BBSes?

That's funny. One of my favorite software ideas is to create means for local communication so that people can form actual human real-space relationships, including marriage and enduring friendship. Wait long enough and old things become new again.

</comment><comment><USER7> I used a local BBS set up for Amiga users. Didn't really use it for communicating with others, mainly for file uploads/downloads... freeware games and what-not.

I remember being so excited to have access to "literally thousands of files!" Back then it was totally awesome. :-)

</comment><comment><USER8> Hahahaha, yes indeed. Cracked a number of games removing copy protection, phreaked for some long-distance pickups & drops, ran wildcat, hotline, etc...

The good old days...

</comment><comment><USER9> I started out with British Telecom's Prestel, moved on to a VAX-based BBS that all the kids in my town had accounts on, moved on to local Wildcat! BBSs and ended up on a telnet-based BBS (which has been around since before JANET supported TCP/IP) and I'm still there. I did meet my wife online, but not on a BBS (and not on news, and not on the web).

</comment><comment><USER10> I was totally into the BBS scene in high school. There were three run by friends within our local calling area, and I remember dialing & redialing each of the three, getting a busy signal, cursing my timing, and trying again.

I spent waaaaay too much time playing TradeWars back then...

<comment><USER11> TradeWars is still alive and kicking if you're interested. Now you just need a telnet client and a server. I assume you have the former, so here are some links to the latter: <http://oregonsouth.com/ice9/> and <http://www.thestardock.com/>

</comment></comment><comment><USER12> I used BBSes in Columbus, OH and remember them... fairly vaguely. Not much of a user until the multi-user systems came along, with 8 or even 16 modems at a time, on multiple phone lines -- those were much more interesting.

I remember that in my freshman year of college one of the primary uses of my awesome 10Mbit fiberoptic dorm-room Ethernet connection was to telnet to an open machine at Ohio State that happened to have an outgoing modem that you could use to make local BBS phone calls in Columbus. No password required. Man, those were innocent times on the Internet.

I still find it painfully ironic that I had such great broadband connectivity in college, from 1989 to 1993, when HTTP hadn't been invented yet and all there was to do was FTP, Telnet, and eventually Gopher.

</comment><comment><USER13> I think all of the people who were too young have simply not commented, so I'll just throw this in: I was too young (I'm 24 now) - or at least if there were BBS's going on, no one I knew, knew about them. How late were they still in vogue?

</comment><comment><USER14> Oh yeah - I was a SYSOP on two BBSes in the St. Louis area, one of which was my own. This was in the early-mid 90's, just before internet became widely available.

I met my high school sweetheart on my BBS. Man, those were the days.

</comment><comment><USER15> I was pretty young at the time, but I got in at the very tail end. There was a BBS for farmers called FBMInet that my parents were on. I don't remember much about it (except that there were lots of pirated games). I still use the same password that I chose there for sites I don't care about.

My first web access was via a BBS run by an organization called Edmonton Freenet. For a (very) small yearly fee you could dial in and use (amongst other things) lynx and pine. Very rustic, but considering that a decade or so before we were on a party line...

</comment><comment><USER16> I remember the fun days of CMBBS, C-Base, and later everyone making some nice BBS systems, it was cool to see what you could do with the Commodore Basic, BLITZing it up and hosting it. Some of the older BBS systems rival the features provided by communities today greatly. Then there was the continuous dialing up other regional boards over and over again until you got an answer.

There were some really nice games in the limited way of BBSing, a premonition of MMORPG's and other network strategy games that addict people today.

</comment><comment><USER17> Mobile, Alabama had a lively BBS scene in the early to mid nineties. I spent my teenage years on various boards and even ran one for about a year.

User acquisition with BBSes is much harder than websites; it taught me a lot.

BBSes, specifically the "Mobile Area Freenet", were also my introduction to the internet. Gopher was awesome at the time, and I flipped when I saw the first graphical browser and figured out how to establish SLIP connections with WinSock.

Kids these days have it too easy... ;)

</comment><comment><USER18> Heh. I was. But I'm no hacker.

I live in the Chicago NW Burbs and I think the most frequently visted BBS for me was Jake's File Exchange and second place was probably North By Northwest.

Jake's File Exchange was where I got my first taste of warez and where I spent WAY too much time playing Legend of The Red Dragon.

Sigh... to be young again.

(This was with a Packard Bell 486DX2 and a 14.4k modem. LIGHTNING FAST!!! for the time. I used RipTerm to connect. This was around '94 I believe)

</comment><comment><USER19> I'm not too young for that era (37) but I have never used a BBS. Didn't even know how to operate a computer before I got one in 1996...

I caught up pretty quickly though.

<comment><USER20> I am 10 years your junior and I had the privilege of playing on BBS (512) in 1994-1995. I was enthralled with my old Packard Bell. True, it was mostly a file dump board (what wasn't back then), but it was fun nonetheless.

</comment></comment><comment><USER21> I started something called the OneNet Member Network (<http://www2.onenet.org:8080/index.htm>), a macintosh store and forward system baesd out of my garage in Los Altos when I was working at Apple Computer. Wired article here: <http://www.wired.com/wired/archive/2.03/eword.html?pg=13>

</comment><comment><USER22> I was on the Index BBS in Atlanta, as well as gobs of smaller ones. I was a L.O.R.D. addict, so I'd run out my turns on one BBS and then hop to the next.

<comment><USER23> When I didn't know what exactly went into running a BBS I paid $15 for a L.O.R.D. license in the early or mid-90s. A couple years back I thought I'd try it out again and couldn't find my key. I emailed the company and they sent it over almost immediately. I couldn't believe they were still around.

</comment></comment><comment><USER24> Oh, the days of a good tribbs board and L.O.R.D.

I frequented the Vagabond's Oasis and Galaxy BBS here in the Alabama, US. Also, I ran a small friend/family bbs, The Dismal Light, after 11:00pm on my families second line.

I kinda miss the days of the BBS and door games. I also remember the excitement associated with the prospect of the Internet coming to town - <USER2> pictures and everything!!!

</comment><comment><USER23> There was a local paper called ComputerNews (it may still be around) that had multiple pages of BBS numbers listed. My brother and I would just keep trying each one until we got through and found a Legend of the Red Dragon game we could get in. Nothing was worse than being in the middle of the game when the connection time limit expired.

</comment><comment><USER25> Oh, man... I spent a happy fourth and fifth grade dialing into Richmond, VA area BBSes to download shareware games. Wolfenstein 3D, Commander Keen, and many others... That lasted until my older brother got a dial up account with his university and let me surf the net with lynx on the family 386.

</comment><comment><USER26> Oh yeah, downloading the latest shareware games (Wacky Wheels, Duke Nukem, Tyrian, Jazz Jackrabbit, etc.) and playing Barren Realms Elite, Falcon Eye, L.O.R.D., and TradeWars.

Was a member of several BBSes in the 703 area code. The BizZ BuzZ and R/C Connection are where I spent most of my time.

</comment><comment><USER27> Sure! I used to chat and to "hang around" local BBSes all night long in '93-'95 (or so). I was using an IBM 486 DX 33, and a 14100 modem. This was in Finland, I don't know how much before my active time the BBSes were alive but I think they slowed down a lot afterwards.

</comment><comment><USER28> I used to run my own BBS back in early 90th based on OS/2 and Maximus, it had an 8-lines modem pool, it was a Fidonet node hence was loaded with tons of usenet news and Fido echos and no-one knew what TCP/IP was and that was tough! Oh, I love those old days... :~-[

</comment><comment><USER29> Century 21 BBS. +54-9-11-4632-7070 I was sysop of on of the first Argentinean BBS. Nice times!

</comment><comment><USER30> BBS The Firm FTW! 2af / LOD

;)

<comment><USER31> Niiiice. THG ate your lunch though ;-)

Emulex FTW!

</comment></comment><comment><USER32> It was a BBS that first introduced me to the beauty of multiplayer FPS goodness as well as the infamous MUD, Legend of the Red Dragon. My friend and I used to play Doom on a local BBS using a program called MILK. Those were good days.

</comment><comment><USER33> Was running BBS and FidoNet node (mostly on OS/2 and Linux) back in 90th in Ukraine.

</comment><comment><USER34> I ran a BBS in Brisbane, Australia which was fairly successful. Still shows up on some current Fidonet listings :) <http://bbs.ricta.net/zone3ip/n640.html>

</comment><comment><USER35> That is funny!! I was sure very young back than but I love to log on the BBS back in Brazil. There wasn't a lot of them but it was great fun to spend hours doing nothing just making the phone bill go bigger and bigger

</comment><comment><USER36> Yeah, I was on local Amiga BBS's in the 613 area code. Fun times.

</comment><comment><USER37> When I got started, there were BBS'es, but there was also a local internet "onramp", which was, I decided, way cooler than screwing around dialing into a bunch of BBS'es.

</comment><comment><USER38> There were a bunch of bulletin boards that I used as a teenager in upstate/central NY. My favorite in terms of bulletin board software were the the ones using Citadel.

</comment><comment><USER39> I never ran a BBS (although I thought about it), but I played SRE, BRE, TradeWars, L.O.R.D, and Falcon's Eye. I played SRE the most. Would love to play it again.

</comment><comment><USER40> Guilty, regional and national. Quite the little phreak.

</comment><comment><USER41> Once when I was a teenager, my mother went on a business trip for a week and came back to an enormous phone bill. That's all I'm willing to say.

</comment><comment><USER42> I ran one using Osiris XLT up until 1994 or so. I remember mowing lawns to save up for a ($200) 14.4 modem and to pay for my private line. :-)

<comment><AUTHOR> Now that I think about it, "having your own BBS" back in the day is a lot like "having your own domain/site" nowadays. Pretty much everyone wanted to do it, but there were a lot of lonely boards out there.

</comment></comment><comment><USER43> Yeah I was there in BBS world. I would just hate getting that busy signal and re-dailing again and again... Thank god for the internets.

</comment><comment> ten-seven Not too young for that. I actually used BBS software, sort of, to run a UUCP node at home and receive low-volume mailing list digests.

</comment><comment><USER44> Too young. My early scene was meeting up with the local kids to swap BASIC programs, pirated games, and 8-bit video game cartridges.

</comment><comment><USER45> I was on BBS's whenever I wasn't in high school in the early 90's. Met my first 2 girlfriends on there. 619 a/c - San Diego.

</comment><comment><USER46> I used for a couple of years in Brazil.

</comment><comment><USER47> I used a BBS in the 806 area code on my commodore 64. Anyone ever play Empire? Fun game.

</comment><comment><USER48> Hah.. I ran a Renegade board for a short period of time called NexxusOne in Toronto

</comment><comment><USER49> I was there on the 2400 baud, wishing for that 9600 baud and a 486

</comment><comment><USER50> Ran a six line BBS off Renegade in Minneapolis back in 89-92.

</comment><comment><USER51> hell, they're still around! hehe, <http://members.aol.com/sfritz2994/pdxbbs.htm>

</comment><comment><USER52> I was a SYSOP. Ran several BBS's on Macs.

<comment><USER53> I used DC-area Mac BBS and something called the General Electric Network Information Exchange (GENIE). Way, way back '85-86.

</comment></comment><comment><USER54> Was couriering for quite some time :)

</comment><comment><USER55> local Edinboro BBS - Bases Loaded in 814 area code.

</comment><comment><USER56> Sysop in ATL.</comment>


Brexit polling: What went wrong? - <AUTHOR> http://andrewgelman.com/2016/06/24/brexit-polling-what-went-wrong/ <comment><USER2> Does the UK use easily hackable electronic voting machines?

<comment><USER3> No. Pen and paper and people doing the counting. [https://twitter.com/mcpli/status/743506822699585536/photo/1](https://twitter.com/mcpli/status/743506822699585536/photo/1)</comment></comment>


What programming language to learn in 2019 - <AUTHOR> https://mkdev.me/en/posts/what-programming-language-to-learn-in-2019 <comment><USER2> This article lost me at "An important advantage of this language [JavaScript] is that it's good not only for creating complex machine learning algorithms, but also widely used in web development to make sophisticated interactive components of any level of complexity."

</comment><comment><USER3> The only thing I'd add as a programmer is that the language you learn should depend on your interests too.

If you want to get started in web development, Javascript, Ruby.

iOS app development, Swift.

Android add development, Java.

Game development, C#.

I often think all of these article focus on the highest paying Silicone Valley development jobs.</comment>


Glow: Better Reversible Generative Models - <AUTHOR> https://blog.openai.com/glow/ <comment><USER2> Ethics/Implication question: How much time is left until video/photographic evidence ceases to be a reliable factor in courts? I know that while projects like this are happening, so are projects that work to identify fakes. If the former manages to outpace the latter, this could become a real problem. My mind tends to think of a dystopian extension of cops planting drugs on suspects, where they could literally invent photographic evidence.

<comment><USER3> Would it be possible for phones/cameras to embed cryptographic information in video/photo files in such a manner that proved their origin, and which was tied to the pixels in image/video?

I don't know if that's a silly suggestion.

<comment><USER4> Sure, you could design a camera that signs photos with a private key stored in a hardware security module, then only trust signed photos and videos. It would have to be resistant to physical tampering and side channel attacks. One way to do this would be to stream bytes to the HSM as they're recorded, which would then output the bytes and their signature for local storage.

The tricky bit here is closing the analog loophole (using this camera to record a carefully constructed, high resolution fake) and preventing the HSM from signing anything which wasn't recorded by the camera lens.

<comment><USER5> If GPS satellites were to cryptographically sign their signals, would that be sufficient to prevent spoofing of GPS signals (assuming the receiver of the signals treated the signing appropriately)?

Like, I can imagine maybe there could be an attack where one could record gps signals at some nearby place, and then play them back in slightly different orders/rates to try to fool a receiving device into thinking it is somewhere else (nearby).

But I don't know how much of a time delay would be needed in order to do that. Could a timestamping service do timestamping quickly enough to prevent this attack for internet connected devices?

I tried looking at how the signals for GPS work (like, how frequently it sends time information and how detailed it is for civilians) but it seemed complicated and I got confused and/or didn't try hard enough, so I didn't arrive at an answer for how long it would take to spoof positions if one could only delay real signals that one received.

Edit: the purpose of making the gps coords unspoofable would be to make it so that even if the screen-in-front-of-camera attack was done, it would have to be done at the same location and time as it would be claimed to have happened.

<comment><USER6> > If GPS satellites were to cryptographically sign their signals, would that > be sufficient to prevent spoofing of GPS signals (assuming the receiver of > the signals treated the signing appropriately)?

Nope, classic replay attack case (just record the GPS signal and replay to the device at the desired location). You'd need a true time signal within the device, e.g. and atomic clock to make it work (so you'd authenticate the signed time against true time).

\---

There is another way, however. If we assume the hardware is tamper-proof (unless drastically different methods are needed), then with strict timings we can device a challenge-response system that's immune to replay attacks due to relativity: simply transmit a signal A, have a known 3rd party (e.g. US government servers in cellphone towers) sign your signal Sig(A) and retransmit, and check that the delay matches the propagation delay you'd expect from the cellphone tower distance, plus the fixed (and immutable since it would be gov-controlled) processing delay. Your tamper-proof crypto-camera would record its location and whether it trusts the location. Using cellular signals is also better because GPS doesn't work indoors and is sensitive to interference.

Since we're adding a cellular connection to our device, it would also be a good idea to log its position on the state-controlled servers (again can be done with cryptographic safety assuming non-tampered device), along with some kind of intrusion detection system. As soon as it'd detect an attempt at tampering, it would relay this attempt to the servers, storing the intrusion and invalidating the authenticity subsequent recordings; a self-destruction attempt of the key would probably be also wise.

\---

And now that I think about it, you'd probably want to put several keys/auths in the device, from different organizations -- not only governments. That way if the government authentication is positive but NGO's mismatch, you can suspect a government-backed forgery attempt (analogously vice-versa).

</comment></comment></comment></comment></comment><comment><USER7> Can someone please explain to me what a "1x1 convolution" is?

I've been wondering ever since I first started reading about 1x1 convolutions a while back.

My background is not in artificial neural networks, but I understand their single neuron operation: a linear combination of inputs (optional extra input or offset), so this part behaves like any linear correlator, and then a nonlinear but typically differentiable compression sigmoid.

I understand how convolutional neural networks operate, and that the synaptic weights correspond to filter kernel weights (like point spread functions, or impulse responses).

Given this engineering-like interpretation I have, can someone explain to me what use convolution with a 1x1 filter has??

<comment><USER8> The trick is that convolutional neural nets operate on multichannel images. Your intuition that the synaptic weights form point spread functions is correct, but you have to remember that the activation of each neuron depends on a sum of point spread functions, one for each channel in the previous layer.

I like to think of 1x1 convolutions as pixel wise dense layers

Here's a toy example of a useful 1x1 convolution: you could convert a color image to greyscale by doing a 1x1 convolution with the kernel (.33, .33, .33)

<comment><USER7> thank you _very much_ , I suppose we can all agree that 1x1x3 (Width x Height x Color) convolution would have been a lot clearer.

again, thanks for succinct and clear explanation!

<comment><USER9> Just to elaborate a bit more, 1x1 convolution is often used to reduce the number of parameters from the previous layer to keep the total number of parameters manageable.

<comment><USER7> yes, thank you, I understand the motivation, the reason I never understood before was quite simple, the description "1x1 convolution" (correctly) described that they were not doing convolutions across pixels.

It is good to point out what they _aren 't doing_, they should also point out what they _are doing_.

Humor me by considering:

"Today I did not go to the zoo, I did not go to school, ..., and I did not go by foot, nor by vehicle without weels, nor by a vehicle with only one wheel, nor by a vehicle that had 3 or more wheels, and the vehicle was not motorised, and I did not need to stand up on the vehicle"

While true, and possibly important to point out what I didn't do, it's generally more helpful to describe what I _am doing_ , like "I rode my bicycle to the supermarket"

</comment></comment></comment></comment></comment><comment><USER10> Manipulating Neil deGrasse Tyson's face in the demo yields some hilariously bad-looking results.

<comment><USER11> If you max out smiling and beard, the result kinda looks like Tim Meadows. Granted, that could be just me being yet another annoying white person. I'll ask my wife about it later just in case.

</comment></comment><comment><USER12> Interesting thing about the default image, "beard" on a woman creates a more typically "masculine" jawline but doesn't add facial hair.

Increasing blondeness also increases smile.

<comment><USER13> # EDIT: it seems the post below me is actually correct, and my post is incorrect in this case.

Just as an aside here: "Blondeness" and "beard" are probably just labels the authors found correspond the most to the latent variables in this case. This means that there won't be a perfect translation between those words and what these variables directly respond to in the network.

So although the training data may have been biased with more smiling blonde people, it doesn't necessarily have to have been so. It might be that what this latent variable encodes just does something else in edge cases where there are few examples.

<comment><USER14> Not so. They split the data between "bearded faces" and "non-bearded faces" and compute the vector from one to the other, and use that to alter a given face. (It reminds me of the typical word2vec example of man - woman + queen = king.)

See their code snippet halfway down their page, or "Semantic Manipulation" on page 8 of their linked paper.

<comment><USER15> This sounds like yet another appearance of the tank-sky problem.

<comment><USER16> There is no mechanism in this paper (or in a standard VAE, or GAN) to encourage that a single human-understandable semantic quantity should be captured in a single dimension of the latent code. So, in general, it won't happen. "Blondeness" is spread out over all dimensions of the latent code. Therefore the method in this paper (summarized by matheist) is totally reasonable. There are other autoencoder-type generative models that try to concentrate each attribute in one dimension, usually by using the class labels as an additional input. But that is not the focus of this paper.

<comment><USER17> Do you have a link to a paper that does this by any chance? I'm interested in learning more but not sure what to search for.

</comment></comment></comment></comment></comment></comment><comment><USER18> Code is now available: [https://github.com/openai/glow](https://github.com/openai/glow)

</comment><comment><USER19> Glow is also the name of the machine learning compiler that's built inside PyTorch: [https://github.com/pytorch/glow/](https://github.com/pytorch/glow/)

</comment><comment><USER20> I mean, it has potential. But lot's of things have potential. I think I'll be more interested in a few years, but right now it mostly just looks too weird (not even uncanny valley) to feel like it could be used for anything.

</comment><comment><USER21> Reminds me of the Ocean's 12 (13?) scene where the brothers are in the boring machine and are manipulating the stolen FBI mugshots to disguise the group members before they get found out.</comment>


Usability - <AUTHOR> http://unweary.com/2010/07/usability.html <comment><USER2> _How can you ruin the usability of a pen?_

I've got a pen (some vendor's freebie) that lights up an LED inside when you click the button on the top. To expose the pen tip you have to twist the bottom half. Normally, that is not much of a problem but the clicky thing throws me off every time. I try to click it, it lights up, I curse under my breath... every time.

</comment><comment><USER3> Has anyone read the book he suggests?

<comment><AUTHOR> Yes, and I give it a full five stars. The Design of Everyday Things (originally "The Psychology of Everyday Things") is incredibly accessible and strikes a very good balance between selling you on the importance of good design, explaining the concepts behind it, and entertaining you with examples both good and ludicrously bad.

<comment><USER4> Another vote for POET.

I'm currently reading another of his books - Things That Make us Smart: Defending Human Attributes in the Age of the Machine. Recommended. (<http://www.jnd.org/books.html#40>)</comment></comment></comment>


Why We're Missing Our Best Chance for Gender Parity - <AUTHOR> https://devmynd.com/blog/2015-2-mind-the-gap

<comment><USER2> "When I'm hiring, I have an HR intern (or the external recruiter) strip anything that could indicate gender or race from the résumés before they get their initial evaluation. For the ones that make the first cut, I have the recruiter print out code from Github, with the username redacted. This has resulted in a tremendous increase in the number of women who make it through to an actual interview."

In orchestras, there was a tremendous increase in the number of women when the practice of having candidates play their instruments invisible to the judges became widespread.

</comment><comment><USER3> Let me give an alternative explanation, championed by Philip Greenspun for women in science jobs: Startup jobs suck, and women are better at recognizing it (scroll past the description of science jobs to "Why do American men (actually boys) do it?"):

[http://philip.greenspun.com/careers/women-in- science](http://philip.greenspun.com/careers/women-in-science)

There are no economics by which working at a startup makes sense over a Facebook or a Google. You work longer hours, and make substantially less. Unless you're a founder, even in the event of a successful exit, the stock options will generally barely cover the cost of the paper they're written on. Early employees don't come out competitive with Google until you see billion- plus dollar exits.

Philip's claim was that men tend to make decisions based on testosterone- fueled machismo, and go into areas considered "hard-core" like theoretical math, which rationally, are a waste of time and make no sense to study. As he phrases it, young men make the decision based on:

1\. young men strive to achieve high status among their peer group 2\. men tend to lack perspective and are unable to step back and ask the question "is this peer group worth impressing?"

This matches my anecdotal experience as well. Women tend to make more rational decisions, and pursue fields with a higher return-on-investment. Men tend to make irrational decisions, and either realize it later (with colossal failures, such as science jobs), or rationalize it later (e.g. "I learned a lot" without really comparing to the alternative -- a job with formal mentorship processes, and both pay and work/life to allow time for pet projects and formal study).

If Philip's claim is correct -- and it does match my anecdotal experience -- the way to draw more women into startups would be to make them appealing to rational players. Typically, an early employee ends up with a fraction-of-a- percent equity at exit (and at best, low single-digit percent at joining). Equity is allocated in numbers (5000 shares) rather than percent, in a successful attempt to confuse.

Is it a full explanation for 2% vs. 28%? Probably not. Bias is surely part of the equation as well. I have no idea what the split is, but I'd be shocked if either explained the gap fully, and I'd be equally shocked if either were insignificant.

<comment><USER4> >Philip's claim was that men tend to make decisions based on testosterone- fueled machismo, and go into areas considered "hard-core" like theoretical math, which rationally, are a waste of time and make no sense to study.

If no one did theoretical math or startups, the world wouldn't advance. There wouldn't be a Facebook or a Google to work at. People can rationally pursue goals beyond their own financial interests.

<comment><USER3> 1\. You're confusing theoretical math vs. applied math. Google doesn't benefit from algebraic topology.

2\. Startups would exist -- just not as many. The cost would be slightly higher; they'd have to pay employees either fair salaries, or give fair levels of equity. The current situation -- long hours, low salary, crooked options -- would not persist.

<comment><USER4> >You're confusing theoretical math vs. applied math. Google doesn't benefit from algebraic topology.

Not yet, maybe. But it does benefit from number theory, which was considered to have no practical applications until people realized we could do encryption with it.

<comment><USER3> Two ways to look at it:

1\. Return on investment. Every hour spent on applied math generates a lot more applications (not to mention elegant mathematics) than the same spent on theoretical math. Theoretical math has about as much value as knitting and crochet. Does someone occasionally come up with something of value? Sure. Does it have more value than any other hobby? Not really.

2\. With encryption in particular, Diffie-Hellmen is simple enough that public key would have been created regardless of research in theoretical math. Furthermore, most of the people developing such (including Diffie, Hellmen, Merkle, Rivest, Shamir, Adleman, etc.) have applied backgrounds. Indeed, most are computer scientists, rather than mathematicians. The same goes for cryptographic protocols, doubly so. Symmetric encryption, in contrast, does build a _little_ bit on theoretical math, but it's also just an arms race. More knowledge about number theory helps both cryptography and cryptanalysis about equally. There's no reason to believe that more number theory makes us in any way more secure. Cryptography itself would exist without number theory (indeed, history is a bit fuzzy as to whether something like the scytale or number theory came first, and regardless, there is no reason to believe one fed the other).</comment></comment></comment></comment></comment>


Puzzle+: Crosswords in Google+ Hangouts - <AUTHOR> http://www.danvk.org/wp/2012-05-17/puzzle-crosswords-for-google/

<comment><USER2> I love and endorse Puzzle+. Soooooo improved over AcrossLite, even with its happy pencil.</comment>


IBM to cut thousands of jobs as coronavirus plays out - <AUTHOR> https://www.foxbusiness.com/markets/ibm-cuts-thousands-of-jobs-report <comment><USER2> Removing headcount and still maintaining the dividend will make it hard to hire in the future. It sets a clear signal where the priorities are.

<comment><USER3> IBM absolutely needs the 5% dividend to survive, especially now. Without the dividend, IBM gets kicked out of all the high dividend ETFs and investors dump them on mass. Moreover, I imagine a substantial part of an employees comp is options or RSUs.

<comment><USER4> So we are driving company decision making based on the needs of synthetic fake financial instruments? Is there any other way to run a company that is more stupid than striving to fulfill the needs of someone else's derivative product?

I cannot imagine a worse basis on which to steer a company. It makes zero sense. Using a random number generator to pick every decision would result in better results than what we are currently doing.

An example of a company that has completely succumbed to Wall Street is Texas Instruments. They are (or used to be) a tech company. They used to have research. They used to create new products.

But in the past few years they have started committing to "returning 100% of free cash flow to investors" (quoting their own earnings release) via stock buybacks and dividends. They actually put it down in writing: we are committed to NOT reinvesting in employees, NOT doing R&D, NOT creating new products. In every earnings call about how they are still committed to getting all the cash into stock buybacks and dividends. That's it. That's the whole company now.

Wall Street loves Texas Instruments. The shiny bucket of treasure known as stock buybacks + equity based compensation is irresistible. This is going to keep happening until we make it stop happening.

<comment><USER5> From startups to stalwarts - this is the norm. Wall Street / Investors first. Infinite and ridiculous QoQ / YoY growth expectations and a lot of really dumb approaches to achieve this. And executive pay that's way out of line. I just read "The Infinite Game" [0] and while a lot of the book rehashes many oft heard stories amidst well known companies and people as examples it makes the clear point that given our hyper focus on short term profits we pay the price in the long run. I don't disagree and I've been in roughly eight different tech companies over the last 12 years. From startups to companies that do more than a billion annually. They're all doing the same thing. The executives can't even hear themselves admit it, which is the really interesting part.

Case in point I was on a call where an executive stated: "We're moving to a subscription model in our product because, to go public, that's what Wall Street is going to want to see". Not because that's where customer demand is, or because it makes sense for the business. But this short sighted rationale to meet a short term goal inorganically. Wall Street and VCs are very much no different than the influencer marketing crowd. They just happen to pretend and purport they're good at growing business, when the real MO is lining pockets.

[0] [https://www.goodreads.com/book/show/38390751-the-infinite- ga...](https://www.goodreads.com/book/show/38390751-the-infinite-game)

<comment><USER6> What can you do? Wall St has become incredibly efficient in "nudging" execs into doing what Wall St wants: by influencing the stock price, on which executive compensation is based. Only founders or execs who have more than just a financial interest in the company would buckle the trend.

I have thought about this a bit. Why doesn't the Bay Area have it's own stock market/index? It seems incredibly stupid to let financial control over all the innovation that's happening in the Bay be in the hands of NYCs financial markets. To some extent VCs offer that alternative financial market that doesn't exist but it's only for startup funding and such.

<comment><USER7> Hopefully Carta will be able to shake things up and help solve this? [https://www.ft.com/content/d52b0487-b13c-4bae- bf27-770518ff0...](https://www.ft.com/content/d52b0487-b13c-4bae- bf27-770518ff083d)

There is also LTSE by Eric Reis - [https://www.vox.com/recode/2019/5/22/18629621/long-term- stoc...](https://www.vox.com/recode/2019/5/22/18629621/long-term-stock- exchange-explainer-capitalism-quarterly-earnings)

Curious how this will play out.

</comment></comment></comment></comment></comment></comment><comment><USER8> IBM is notorious for both offshoring jobs to places like India and also heavily abusing the H1B visa, both themselves and through body-shops like Wipro and Infosys. They have more employees in India than in the US.

IBM once told its laid off US employees that if they wanted to keep their jobs, they should move to India and take the prevailing wage there:

"It's more of a vehicle for people who want to expand their life experience by working somewhere else..."

This is when their CEO made $20M last year.

I think any company that is currently laying off US employees should immediately have all their H1B, L1, etc. visas revoked and use banned for the next decade. This would be trivial to implement, especially in states like California where the company is required to notify the state before layoffs.

I also have absolutely no faith that Redhat won't turn into a shell of itself eventually - all the US and EU R&D moved to India, replaced by sales and lawyers using Oracle's business model.

* [https://www.nytimes.com/2017/09/28/technology/ibm-india.html](https://www.nytimes.com/2017/09/28/technology/ibm-india.html)

* [https://www.businessinsider.com/2009/2/ibm-to-north-american...](https://www.businessinsider.com/2009/2/ibm-to-north-american-employees-to-keep-your-job-move-to-india-ibm?op=1)

</comment><comment><USER9> Cutting headcount rather than dividend isn't a good look.

But this makes sense now that IBM has become a body shop. I doubt the cuts will come in what remains of research, manufacturing, or design. Likely all in "services" and its sales teams.

<comment><USER10> Yeah, to me this just signals IBM's customers cut all their contractors as part of their own layoffs. IBM doesn't have anything for these people to do in house, so it has to cut them.

<comment><USER11> An interesting POV. I certainly hope that's true. Is IBM reputation good in the contractor space? As in, are their services largely viewed as dependable and good value?

</comment></comment></comment><comment><USER12> "IBM finds another excuse to layoff senior staff members":

[https://features.propublica.org/ibm/ibm-age- discrimination-a...](https://features.propublica.org/ibm/ibm-age- discrimination-american-workers/)

</comment><comment><USER13> Outside of big iron mainframe contracts for governments and banks who buys IBM these days? Excluding Red Hat, I would say they are largely managing themselves into obsolescence.

<comment><USER14> They do have IBM Watson, which has seen some uptake. [1]

Not sure how much success they're having with their other cloud offerings, tho.

[1]: [https://enlyft.com/tech/products/ibm- watson](https://enlyft.com/tech/products/ibm-watson)

Edit: Added source

<comment><USER15> What uptake is it having? I've only ever seen it used as a marketing device.

<comment><USER14> Added source to my initial comment.

<comment><USER16> I doubt that this source is very accurate. The "List of the top companies using IBM Watson" is very odd.

You get better information from their annual report.

</comment></comment></comment></comment></comment><comment><USER17> Last time I worked with IBM folks I was shocked at how high on the expense hog those folks lived. Sure they got a $$$ contract from their client but the amount of money they were giving to the IBM folks in expense claims was criminal.

</comment><comment><USER18> Clearly coronavirus is a great excuse to let workers go. I doubt there's going to be much hiring going on once this plays out, at least not with current wagee

<comment><USER19> For as long as I can remember, IBM has always been cutting thousands of jobs every other month.

<comment><USER20> Yeah you can copy and paste this story and these comments at least once a quarter. Same story "IBM lays off thousands" same comment "IBM isn't even a company and this will surely be the death of them". Literally ever since I first heard the letters IBM I've heard these same headlines and comments.

And yet my clients keep buying IBM products and hiring IBM consultants. There is a huge enterprise world outside of Silicon Valley that HN is completely unaware of.

<comment><USER21> I second that. And every time the sentiment of most commentators is pure vitriolic. I really don't get it. Unless it's coming from laid-off workers - which I can understand and empathize. But I highly doubt it. My understanding is that people here just hate IBM because it's old and out of fashion mostly mirroring the same valley sentiment towards anything and anyone on the older side of the road.

The amount of misconceptions that are passing in a lot of these comments for facts is astounding. Many pretend that they don't know that IBM is one of the major PaaS and IaaS cloud providers. Others pretend that they ignore all the R&D done in IBM. Others still ignore the fact that IBM is one of the most open source friendly companies out there. And others still forget that it is probably the oldest IT company around that has reinvented itself more times than Elon has begged for public attention.

Anyway. Each with his own opinion. Luckily business out there has it's own as well and places its money on it.

With that I'm not trying to absolve C-suite from their responsibilities or their shitty management that will leave thousands of good workers high and dry. This is a different issue altogether but like I said the hate in these comments have nothing to do with it.

</comment></comment></comment></comment><comment><USER22> Unlike a lot of companies IBM'ers use [https://www.thelayoff.com/international-business- machines](https://www.thelayoff.com/international-business-machines) quite a bit and there's a lot of activity in there over the last day or so related to this set of "resource actions".

</comment><comment><USER23> The previous CEO did a horrible job. The workforce morale, not good for quite some time, fell further. Rather than try to leverage the deep and unqiue assets/IP of IBM, she sold off many, then made a poor attempt to chase the same type of "cloud" stuff as Amazon, Microsoft and Google.

</comment><comment><USER24> Hopefully RedHat remains mostly unscathed. :(

<comment><USER25> Red Hat employee:

There's been no layoffs and I don't expect any. RH managed to avoid layoffs in 2008 as well. A hiring freeze is in place for most departments but there are still some positions which are actively hiring.

I can't say I'm surprised that IBM is having layoffs, though.

</comment></comment><comment><USER26> They spent billions on buy backs. At some point [1] ~80% of their market value. Really a shame

[1] [https://www.fool.com/investing/general/2016/04/25/after- fork...](https://www.fool.com/investing/general/2016/04/25/after-forking- out-110-billion-on-stock-buybacks-ib.aspx)

<comment><USER27> I don't know how this whole buyback thing works really, but could they not just do a "sellback" of some of the shares they still own if they now need the cash? (Of course they might have to do so at a bit of a loss.)

<comment><USER28> In theory, yes, they could protect their workers' job security with a stock offering.

They are incentivised to protect the interests of their shareholders.

Unions are set up to (N/A in USA) protect the workers.

<comment><USER27> Agreed, but then it seems to me that the buybacks are kind of besides the point, and the real underlying issue is that they don't care about their workers (and/or aren't incentivized to), no? In terms of future flexibility / robustness to unforeseen emergencies, sitting on a big pile of your own stock doesn't seem that different to me from sitting on a big pile of cash, except in terms of the risk profile. (In contrast to paying a dividend, where they really can't recoup the cash if they need it.) I could easily be missing something though...

<comment><USER29> They're not 'sitting on' a pile of stock; it gets bought back and cancelled. A company can issue more stock any time it likes, so in that sense every company is 'sitting on' an infinite pile of its own stock all the time.

<comment><USER30> A company doesn't _have_ to destroy the shares they buy back, they can opt to retain them and use them for employee compensation or later reoffer them.

</comment></comment></comment></comment></comment></comment><comment><USER31> Why isn't Watson driving profit at IBM? Is Watson still little more than a "man behind the curtains" marketing tool?

<comment><USER32> Because IBM Watson is essentially a billion dollar bet on 90% shell scripts sed'ing and awk'ing datasets.

It was a sales and marketing ploy to sell global services contracts

<comment><USER33> Can you provide some actual evidence to back your inflammatory, dismissive claims?

There is zero mention of sed or awk at [0]. And looking at one of the references [1], it's pretty clearly more involved than sh+sed+awk. Is Apache UIMA [2] 90% sh+sed+awk? At a glance, it doesn't appear to be.

[0] [https://en.wikipedia.org/wiki/Watson_(computer)#Software](https://en.wikipedia.org/wiki/Watson_\(computer\)#Software)

[1] [https://www.aaai.org/Magazine/Watson/watson.php](https://www.aaai.org/Magazine/Watson/watson.php)

[2] [https://uima.apache.org/](https://uima.apache.org/)

</comment></comment></comment><comment><USER34> A later thread: [https://news.ycombinator.com/item?id=23273960](https://news.ycombinator.com/item?id=23273960)

</comment><comment><USER35> I will note that internships are still going on. Everybody also gets their housing stipend in cash.

</comment><comment><USER36> IBM has been dead for years. This is the inevitable end.

<comment><USER37> What is your definition of dead? IBM still profits 10+ billion annually and has 300k+ employees.

Why is this layoff (compared to the other hundreds they have done over the decades) the inevitable end?

</comment></comment><comment><USER38> Could you please upgrade the link to point to a respectable news outlet? Two obvious candidates:

\- [https://www.bloomberg.com/news/articles/2020-05-21/ibm-is- la...](https://www.bloomberg.com/news/articles/2020-05-21/ibm-is-latest-tech- giant-to-cut-jobs-in-midst-of-pandemic)

\- [https://www.wsj.com/articles/ibm-announces-first-job-cuts- un...](https://www.wsj.com/articles/ibm-announces-first-job-cuts-under-new- chief-executive-11590113061) (paywalled, [http://archive.is/imO4i](http://archive.is/imO4i) might help)

</comment><comment><USER39> As somebody who has been stuck using IBM Clearcase or DOORS the end of IBM can't come soon enough.</comment>


Make Your Software Engineering Team Awesome (Even If You're Not a Manager) - <AUTHOR> https://www.codementor.io/npostolovski/how-to-make-your-software-engineering-team-more-awesome-even-if-you-re-not-a-manager-drfgfoaua <comment><USER2> > Missed opportunities for knowledge-sharing that could have helped work go > faster

So much this. I've learned a ton from my teammates by listening to them talk through their approach and hearing it develop over time.

As a side note, I'm charmed to see the author is both a software developer and a psychology student. That seems like the perfect combination forthis thoughtful piece on teams.</comment>


From Cod to Codpieces: Benjamin Franklin's Guide to Food and Sex - <AUTHOR> http://notchesblog.com/2015/10/22/benjamin-franklins-cod-piece/ <comment><USER2> FYI, it's more about cod than sex.

</comment><comment><USER3> Why are so many sites lately adding big annoying modal "Subscribe to my newsletter" boxes? Do people really sign up for that crap?

It's silly. Add an RSS feed and get out of my face.</comment>