HNHacker News
TopNewBestAskShowJobs

speedkills

94 karma · joined December 31, 2013

submissionscomments
speedkills··on Pijul – The Mathematically Sound Version Control System Written in Rust
As scalability was one of the design goals. are there any comparisons of performance with huge repos?
speedkills··on Amazon, Apple, Google, and the Zigbee Alliance to develop connectivity standard
I'm not a fan. If I get a new hub, the last thing I want to do is unscrew every light switch to find the picture on it to scan and if I buy a house with pre-existing hardware I don't want to rely on the last owner having taken pictures associated with every switch and left it for me.
speedkills··on Launch HN: CSPA (YC S18) – SAT for Software Engineers
Every version of this I have seen in the past 20 years always ends up worthless after the braindump sites pop up. How do you intend to mitigate this?
speedkills··on Monorepos and the Fallacy of Scale
Painfully. File a ticket with another team and pray they don't put it off until next quarter because your teams priorities don't match up with theirs.
speedkills··on Twitter’s Kafka adoption story
Are you implying Scala is not the majority of Twitter's code?
speedkills··on FDA isn't doing enough to prevent medical device hacking, HHS report says
A large percentage of Dexcom developers have had their lives impacted by Diabetes in some way. This and plain old competition are the biggest drivers in their features and usability in my experience. You have to keep in mind like most businesses they have a long feature pipeline in development that is not public knowledge. If you release a feature and see it mirrored by someone else shortly after it's as likely that you both thought of it, and you just beat them to it than it is that they were inspired by you. Especially when one of you has a much shorter time to market thanks to no FDA oversight.
speedkills··on Bumper Sticker Computer Science (1985) [pdf]
Every single time I wonder, why not ask me for zip first then lookup city and state if possible.
speedkills··on Mermaidjs: create diagrams and flowcharts from text
Is there any way to make diagrams render in a github readme?
speedkills··on Ask HN: How do you OCR your receipts and bills in 2018?
How are you liking DevonThink? It’s one of those bits of software I think about trying out from time to time but getting started with it looks like a bit of a time investment.
speedkills··on Is Python the Future of Programming?
If they weren’t checked, how would you know they are up to date?
speedkills··on The Last Hope for Scala's Infinity War [video]
I agree with many of your points, but on that specific example code you pointed to which I have never used or looked at before, I find it plenty readable if you know how to read it. That doesn’t mean I find it “obvious” if you have never been trained on how to read those signatures or come from another language that does not support these concepts.

Here is how I read this in case it helps anyone

  Def zip[A, B](a: ⇒ F[A], b: ⇒ F[B]): F[(A, B)]
F[Something] is a “container type” or a type constructor, a type that is parameterized by another type, for example F[Int] could be List[Int] or Future[Int].

The method zip has two parameters, one a by name reference to something of type F[A] and the other a by name reference to something of type F[B] and returns an F of the pair of input types (A, B)

Looks like this deals with three total types, a container type F that must be the same for input param a, input param b, and the result.

I know nothing about F other than the fact that it contains another type. I know nothing about A and nothing about B which means I can’t be looking them up somewhere or using defaults, so the only way I could possibly return an F[(A, B)] is if I combined the two inputs.

Also, code written in this style is meant to follow the substitution principle, so I’ll think through a couple of substitutions to see how this method could be useful to me.

For: F = List, A = Int, B = String

  Def zip[Int, String](a: => List[Int], b: => List[String]): List[(Int, String)]
Since I can’t invent new members of list and the two members of the list may be different lengths, this must return a list whose length is the minimum of a.length and b.length containing and int -> string mapping. Handy.

F = Future, A = User, B = LastLoginDate

  Def zip[User, LastLoginDate](a: => Future[User], b: => Future[LastLoginDate]): Future[(User, LastLoginDate)]
This can only return me a User if they have logged in at least once. The fact that it is two Futures makes me think I am probably querying two remote servers for this information and that I can’t resolve the new Future until both of the input Futures have resolved. By the time this Future is ready I will have a User with their last login date or the Future will fail.

F = Option, A = IpAddress, B = Port

  Def zip[IpAddress, Port](a: => Option[IpAddress], b: => Option[Port]): Option[(IpAddress, Port)]
I may have an IpAddress, I may have a Port, either return to me both the IpAddress and the Port, or neither. This one is really easy to map out as their are only 4 possible code paths

  Some(IpAddress), Some(Port) => Some(IpAddress, Port)
  Some(IpAddress), None => None
  None, Some(Port) => None
  None, None => None
I agree some documentation explaining this would be nice, but there is considerable information I can pull from this signature.
speedkills··on Parsing with Derivatives: A Functional Pearl (2011) [pdf]
Scala implementation from one of the authors here: https://github.com/djspiewak/parseback
speedkills··on Ask HN: What website, from your early days on the net, do you miss?
Lowbrow.com
speedkills··on Show HN: VNote, a fresh Markdown note-taking app
Mini-rant: What happened to Boolean search in note taking apps? It seems to have been lost over the years. When I search for docker and get 80 notes returned, then change search to “docker AND login” I want to narrow my search, not get 110 notes returned.
speedkills··on At Vice, Cutting-Edge Media and Allegations of Old-School Sexual Harassment
Where I grew up it was: Don’t fish off of the company pier
speedkills··on Integration tests are a symptom of poor design
I can feel him searching for the difference, and think he is so close but I have a slightly different take on it. He says over time you become confident enough in something that you don’t bother mocking it. Others have said they don’t bother mocking primitives. I would say you don’t bother mocking values. Objects with mutation, methods that cause side effects, these things need to be mocked, pure values never do. The system clock has been around a long time, and I trust it, but it has mutation, so I will mock it. If I make a new point class that is just an immutable wrapper for two immutable integers I won’t mock it. Pure functions never need to be mocked. Immutable values never need to be mocked. These don’t need time to become trusted, they are created trustworthy.
speedkills··on Reasonable Scala Compiler
The Dotty compiler is going down the route you are looking for.
speedkills··on Show HN: Whoishiring.io – all tech jobs mapped out
Looks great at first glance. A strict or title only search would be nice, I searched for Scala and the first 5 jobs I checked out didn't list Scala anywhere, not even keywords or tiny fine print at the bottom.
speedkills··on C++11 FAQ
Maybe they don't bother. PSU is still teaching C++98.
speedkills··on What's Functional Programming All About?
This is the best description of data flows used in functional programming I have ever seen. Really well done.
speedkills··on Eta – A powerful language for building scalable systems on the JVM
Idris
speedkills··on Streama – A self-hosted streaming application with your own media library
Plex is great EXCEPT they don't care about your data. They have refused to provide backup and restore capability for years. Been using Plex for a while and like it so much you want to buy a dedicated device to put Plex on? Say goodbye to your watched shows and movie history.
speedkills··on Ask HN: What “new” programming languages will you be using in 2017
More Scala, starting to dabble with early versions of Dotty, Idris, Haskell, Nim, and very possibly Rust.
speedkills··on Server APIs Project
Just not with Xcode projects? I was looking for something like xcodebuild that I could run in a docker container and never found anything. Can you point me in the right direction?
speedkills··on Server APIs Project
Is there anyway to build on Linux yet? Having to use a Mac to build and deploy is really inconvenient for some continuous integration setups.
speedkills··on The decline of Stack Overflow (2015)
I always remember scrolling down past the blurred out section and reading the actual answers without signing up. I wonder how many people ending up getting past that old school dark pattern.
speedkills··on Show HN: W3clan – User-Curated Tutorial Network
Tiny feedback, /s/subsciption/subscription.
speedkills··on A New Wireless Hack Can Unlock 100M Volkswagens
http://www.halfarsedagilemanifesto.org/
speedkills··on Shape of errors to come
There are multiple clippy implementations and they are pretty helpful. https://github.com/softwaremill/scala-clippy
speedkills··on The Future of Standard ML (2013) [pdf]
It's not mutating, its returning a new list with elements prepended and appended.
Page 1 of 3Next →