HNHacker News
TopNewBestAskShowJobs

marc_omorain

142 karma · joined January 29, 2009

submissionscomments
marc_omorain··on Show HN: FuseCells – a handcrafted logic puzzle game with 2,500 levels
I just bought it. It’s a really nice game.

I have red/colour blindness and I find that the contrast between the red and green borders on cells is very low (they look quite similar to me).

It doesn’t stop my playing - it just slows me down.

It might be something you address is you find you have many players with colour blindness.

marc_omorain··on Advent of Code 2025
Clojure works really well for AOC.

A lot of the problems involve manipulating sets and maps, which Clojure makes really straightforward.

marc_omorain··on The Yaml document from hell
The recursive anchors seemed to be user-error. Either copy+paste bugs, or an anchors places in the wrong position.

The null character would appear when people try to write a string path, and use the the `~` character without quotes.

marc_omorain··on The Yaml document from hell
At CircleCI, we have had to handle many strange YAML documents. Two that come to mind:

A recursive document:

    key: &anchor
     - *anchor
The `~` character represents null:

    ~:
     - ~
This parses as a map of {null: [null]}
marc_omorain··on CircleCI Announces Support for Gitlab
You would be surprised at how little of the code in a CI product, like CircleCI, deals with git. On the other hand, there is a lot of code required to integrate with the VCS - authn, authz, webhooks, commit-status, etc.
marc_omorain··on The new Dropbox
I have a few qualms with this app:

1. For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software.

2. It doesn't actually replace a USB drive. Most people I know e-mail files to themselves or host them somewhere online to be able to perform presentations, but they still carry a USB drive in case there are connectivity problems. This does not solve the connectivity issue.

3. It does not seem very "viral" or income-generating. I know this is premature at this point, but without charging users for the service, is it reasonable to expect to make money off of this?

marc_omorain··on Android Studio 3.0 Release Notes
You can still download the tools from here https://developer.android.com/studio/index.html#downloads - see the section named 'Get just the command line tools'.
marc_omorain··on Firefox 52 released
What's the difference between grids and flexbox? To the untrained eye, they look like two alternate layout systems where one should suffice.
marc_omorain··on Kotlin 1.1: What’s coming in the standard library
> "Slightly cleaned-up Java with a bit of syntax sugar"

This is not an accurate description of Kotlin.

Kotlin has many features that make it better than Java. Most importantly, it is null-safe. In addition to that it makes it simple to enforce data-immutability, which is very difficult in Java.

https://kotlinlang.org/docs/reference/comparison-to-java.htm...

marc_omorain··on JDK 9 release schedule
Calls to mutate state, such as changing the name field, should be rare. I don't see the value in adding syntactic sugar to make it easier to mutate state.
marc_omorain··on Huge no. of files for Angular 2
I have 8 copies.
marc_omorain··on How to use feature flags without technical debt
I've had good success in the past adding @deprecated annotations to the old code when adding new code behind a feature flag.

It makes it much easier to come along later and know which functions can be deleted when the decision is made to kill the old code.

marc_omorain··on Hashtags Instagram Won’t Let You Search
This reminds me of Shutterstock's open-source List of Dirty Naughty Obscene and Otherwise Bad Words:

https://github.com/shutterstock/List-of-Dirty-Naughty-Obscen...

marc_omorain··on Introducing OpenBSD's new httpd [pdf]
Is there a technical reason why you would implement HTTPS in a HTTP server? If you ran a separate process on port 443 to terminate SSL connections, and then proxy that request to a HTTP server running locally, there would be better separation of concerns.

For example, this setup would mean that a security flaw in the HTTP server that allowed a user to read memory would not be able to read any private keys used in the HTTPS server.

I guess some downsides would be some extra latency while the request is proxied, and some extra memory overhead for the second process.

I'm interested in anyones thoughts on this.

marc_omorain··on Using the wrong dictionary
I would love to see a homebrew package to install this dictionary on a Mac (or better yet, for it to be the default in OSX 10.10).
marc_omorain··on Gitbucket – The easily installable Github clone powered by Scala
Gitbucket is hosted on github, which made me smile.

Is it ready for production use? Does anyone on HN use it?

I'd be interested in having a local install for a corporate environment if it could be easily set up to mirror a private github.com repository. Decentralised github!

marc_omorain··on OpenSSH security advisory
It seems odd to see a commit in this day and age with no unit test. When you make a new newkey struct the clean-up callback should be NULL.
marc_omorain··on Squash
I third using Sentry. I love it. David has been making huge improvements in the Ruby client in recent weeks.
marc_omorain··on Making a Multiplayer 3rd-Person Shooter in HTML5
The framerate is terrible for me too (looks ~5 FPS), newish MacBook Pro.

MacBook Pro (15-inch, Early 2011)

  Processor  2 GHz Intel Core i7
  Memory  8 GB 1333 MHz DDR3
  Graphics  AMD Radeon HD 6490M 256 MB
  Software  OS X 10.8 (12A269)

  Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64 x86_64
In both:

  Google Chrome Version 21.0.1180.77 beta
  Mozilla Firefox 14.0.1
Edits: updated formatting and newlines. I don't see an option to enable high performance graphics in Mountain Lion, but I tried disabling auto-switching of graphics and it has the same issue.
marc_omorain··on A Bad Privacy Bug

  > Figuring that out and making it easy to execute
  > those tests is important in getting people to
  > want to write them.
This is so incredibly important. Anyone on your team should be able to run the test suite from the command line by invoking a single command. The easier and the quicker a test suite runs, the more people will run it.

Also, spending a day to setup a CI server (Jenkins, circleci.com or similar) is a good use of your time. You want to have the CI run the test suite after every commit to your mainline branches in SCM.

Another key aspect to testing is generating clear and concise error output. One thing I find very frustrating is when a CI build fails, but it is not clear why. I find most CI systems are very good at listing all the passing tests, or when a few tests fail in the expected way. When tests fail hard (exceptions thrown, processing not start or not running) I find that I often need to go reading through build logs to find out what went wrong and why.

marc_omorain··on A Bad Privacy Bug
The first step is to create an empty test suite with at least one test that runs. This will mean that when you go to add a test later you have no barriers — you already have a suite. 

You then need to follow two rules. First, write tests for all new features. Second, add a failing test that exposes the bug before you fix any bug. 

By doing these two things you will end up testing two very important areas of your code — new code (which will always be buggiest) and code that has recently proven to be buggy. 

marc_omorain··on Ask PG: Less items on each page?
* Fewer