HNHacker News
TopNewBestAskShowJobs

dv_says

280 karma · joined April 28, 2015

dv
submissionscomments
dv_says··on Ask HN: What are you working on and why is it awesome? Please include URL
Lots of desktop integration features! Custom chat notification bubbles, screenshot taking, file downloads and uploads, resizable font, various keyboard shortcuts, menu bar icon, and more.
dv_says··on Ask HN: What are you working on and why is it awesome? Please include URL
Enchat, my take on a Mac app for Facebook Messenger: https://www.mornings.com/enchat/
dv_says··on Elixir 1.2.0 Released
Using Elixir here for a couple of months, for an app backend, and even for shell script type of projects. Great language, no surprises, and very responsive community -- really, my biggest wish is for more people to try it, as I think it's still relatively niche. Had no previous Erlang experience. While you don't have to write Erlang code itself, you'll over time become familiar with Erlang/OTP architecture concepts, such as GenServer, ETS, distributed nodes, and so on.

Was very happy to see this recent post from Pinterest [1] as a sign that some of the more "mainstream" teams are starting to look at it.

Also, a repost [2] of some helpful tips if you're just getting started.

[1] https://engineering.pinterest.com/blog/introducing-new-open-...

[2] https://news.ycombinator.com/item?id=10278870

dv_says··on AWS Shell – An integrated shell for working with the AWS CLI
In fact, this even can even sync new/modified/deleted files, similar to rsync. Very handy for deploying static assets or backups, for example.

   aws s3 sync --delete [--acl public-read] ...
dv_says··on Mast Brothers obscure the fact that they originally used remelted chocolate
Independent verification.

For example, this could have helped in [1][2][3] where toxic food products were very mislabeled.

[1] https://en.wikipedia.org/wiki/2008_Chinese_milk_scandal

[2] https://en.wikipedia.org/wiki/Gutter_oil

[3] https://en.wikipedia.org/wiki/2014_Taiwan_food_scandal

dv_says··on Onboarding teardowns
I'm assuming the big name products here have carefully measured, A/B tested, etc. every screen and they are at their best (other than Apple Music, which is a whole other creature). That said, product teams should still periodically audit onboarding content, ideally with a set of fresh eyes. Does everything still make sense? Is there a logical flow from A to B?

It would have been interesting to be "a fly on the wall" and see how some of these evolved over time. I suspect some of the oddities initially started with a good set of screens, but then a new piece was later tacked on without a full audit or without the resources to change everything else.

dv_says··on Designing a Mobile App for Maximum Growth
You're on point, these help mechanisms should be rare and few, or they would be a nuisance as well.

The problem with forced screen of tooltips in the very beginning is that you haven't had a chance to explore the app yet, and so it's hard to mentally assign importance to them. And later, they're gone.

dv_says··on Designing a Mobile App for Maximum Growth
Not a fan of screen overlay tooltips as in [1]. My first instinct as a user is to get them out of my way, and I do that every time, feeling guilty. And adding a "next" button and going through tooltips one-by-one doesn't make this any better, just more annoying.

Actual games (such as GTA or Cut the Rope) do a great job with onboarding, and apps tend to take the simpler show-everything-in-the-beginning way.

Two alternatives I've tried as an indie dev:

- Gamification, where you ask the user to perform one task, such as "drag X to Y." Only after they performed the action move on to the next prompt, and perhaps not even immediately.

- Utilizing badge counts or "bouncing" animations to indicate some action that needs to be performed. The benefit is that the user can try it on their own time, and you're not rushing them. The downside, though, is that some users may never actually click.

On the flip side, these approaches can add complexity in both code and how you structure your UI.

[1] http://s3.amazonaws.com/marquee-test-akiaisur2rgicbmpehea/R9...

dv_says··on FE-Schrift – forgery-impeding typeface
A similar concept is found in Chinese writing. Numbers are written using relatively few strokes, making it easy to change a "one" into a "two."

1: 一 2: 二 3: 三 4: 四 5: 五 6: 六 7: 七 8: 八 9: 九 10: 十

For financial documents, a more complicated form of symbols is used:

1: 壹 2: 貳 3: 參 4: 肆 5: 伍 6: 陸 7: 柒 8: 捌 9: 玖 10: 拾

dv_says··on OS X El Capitan on the Mac App Store
There is a setting to opt out of the beta track. Check out System Preferences > App Store.
dv_says··on Elixir v1.1.0 Released
I'm really glad to have recently picked up Elixir. For anyone just starting, a few tips from someone similarly new:

a. After launching the "iex" shell, press Tab. You'll get the list of all built-in commands.

b. The help feature is also very handy for when you're wondering what an operator does. Type "h <command>" for a definition.

    h !/1
c. Try the pipe operator. Your code will closely follow the transformations of your data.

Instead of this:

    m1 = "moo"
    m2 = String.replace(m1, "m", "z")
    m3 = String.upcase(m2)
Or this:

    String.upcase(String.replace("moo", "m", "z"))
Try this:

    "moo" |> String.replace("m", "z") |> String.upcase()
The result of each command will be passed as the first argument to the subsequent command.

d. You get seamless interoperability with Erlang libraries.

    :crypto.hash(:md5, "bob") |> Base.encode64
e. Try the Observer tool in iex to visualize various aspects of your running application, including the supervision tree, details on each running OTP process, and much more. Seriously very handy stuff.

    :observer.start()
f. If you're using EC2 like I am, Amazon images have a too-old version of Erlang, but it's trivial to compile things yourself:

   sudo yum install gcc glibc-devel make ncurses-devel openssl-devel autoconf
   wget https://www2.erlang.org/download/otp_src_18.0.tar.gz
   tar xvzf otp_src_18.0.tar.gz
   cd otp_src_18.0
   ./configure && make && sudo make install
   sudo ln -s /usr/local/bin/escript /usr/bin/escript
   sudo ln -s /usr/local/bin/erl /usr/bin/erl
dv_says··on Swift 2 Apps in the App Store
Or for those who prefer automating, add this to ~/.bash_profile:

   alias nuke="rm -rf ~/Library/Developer/Xcode/DerivedData/"
dv_says··on Why WhatsApp Only Needs 50 Engineers for Its 900M Users
Another vote for Elixir. Well-documented with a growing community, and the code is very readable.
dv_says··on From Python to Go: migrating our entire API
Formerly using Python, motivated to migrate to a modern stack, and so recently attempted to write a simple web back-end for my apps in Go and then in Elixir. Same logic, same unit tests, two languages.

Really liked: the simplicity of Go's build, not having to spawn N processes on the server side, the compiler catching so many issues, the very strict formatting rules, all a major win over Python. However, didn't like how verbose the code turned out, especially for parsing or any data manipulation tasks. For server-side debugging/tools, it's also a bit of a build-your-own adventure.

Elixir I found to be much more pleasant to write and subsequently read, more well-suited for back-end tasks, great for generating and parsing data. Also, more things in the toolset for back-end deployment, in large part due to the OTP stack.

Perhaps Go's ideal use case is local system tools, compilers, or anything else that requires concurrency (let's say, creating tools like "ls," or Apache bench, or gcc, or cURL), and something like Elixir is more ideal for building actual servers.

dv_says··on Show HN: Jet, my Mac calendar app to help you keep in touch across time zones
Update: All promo codes above have been taken -- feel free to e-mail me if you'd like one.
dv_says··on Show HN: Jet, my Mac calendar app to help you keep in touch across time zones
Thanks for taking a look!

Double-clicking to add events and more consistent branding are definitely on my to do list. Mornings is a suite that will include more productivity apps (in the works!)

dv_says··on Show HN: Jet, my Mac calendar app to help you keep in touch across time zones
Thanks for the feedback! Definitely very useful for feature planning.
dv_says··on Show HN: Jet, my Mac calendar app to help you keep in touch across time zones
Thanks for the feedback! That icon is something I'd like to improve as well.
dv_says··on Show HN: Jet, my Mac calendar app to help you keep in touch across time zones
Yes! The app shows all events from Calendar (including iCloud) and instantly syncs back there if you add an event.
dv_says··on Show HN: Jet, my Mac calendar app to help you keep in touch across time zones
OP here. Spending the last couple of years abroad, I found myself wishing for an app that combined a calendar and a world clock. Scheduling phone calls/chats across time zones while double-checking your calendar could be quite a chore!

I built this app in Swift over the last couple of months and would love to hear what you think.

Below are some promo codes for HN. To redeem, open Mac App Store, and click "Redeem" on the right. If they're all gone, just drop me an e-mail and I'll be happy to give you another.

    WELRJK474JLH
    9EWL4X4RANRL
    H79NF3W9NFAJ
    3MNEJ6EK3EH3
    M3X9KEWXJXM9
    WFHJMLXYNP33
    TP6L4HPLM7W4
    W73HF7RAK7WH
    PKLMM9RXLFRA
    A3ER7AAEF4TP
    TJA6KA9X36NA
    7KKM9FAXR6FN