HNHacker News
TopNewBestAskShowJobs

flaie

222 karma · joined January 4, 2012

submissionscomments
flaie··on Macron Vowed to Make France a ‘Startup Nation.’ Is It Getting There?
Exactly, there's a lot of cool stuff going on in Paris, but seriously it's underpaid for the price you have to pay to live there.

From where I live I could work in Paris with the same commute time than I do by working in Luxembourg, but I get a better paycheck.

Renting a 2 bedroom costs 700€ a month where I live, in Paris it would cost 2 to 3 times this.

I don't get the "there's not enough engineering available", this is just not true, reality is that people will earn a lot more in London, Luxembourg, Switzerland, so they chose that.

flaie··on Union Types in Flow and Reason
You can check with Clojure and ClojureScript to target JS specifically. You can write your backend in Clojure and the front part in ClojureScript. Having the possibility to use the same language for both is great.

It's a mature functional language with interesting properties, it's practical, data oriented. Libraries quality are top notch, you'll find no big framework but libraries working together to achieve what you want.

Some ClojureScript libraries are awesome, for example if you're on React you have Reagent or Rum that are fantastic libraries to work with React.

OP post could be written like this in Clojure (if you want to be explicit with all the screens):

    (defn needs-cancel-button [screen]
        (case screen
            :screens/loading true
            :screens/code-entry true
            :screens/success false))
You'll notice that this is not typed but you can use Clojure spec to have some validation (this way being less explicit just returning false for the Success Screen, and true otherwise):

    (def screens #{:screens/loading :screens/code-entry :screens/success})	
    (defn needs-cancel-button 
        [screen]
        {:pre [(s/valid? screens screen)]}
        (case screen
            :screens/success false
            true))
Union types can be mimicked using spec, you'll find how here: https://lambdaisland.com/blog/25-09-2016-union-types

OCaml is also great, IMO you won't lose your time by learning these languages, you'll find some way to improve your current code

Whether you learn Clojure, OCaml, F#, Haskell, Elm or Haskell, you'll end up being a better developer.

flaie··on Longest Lines of Sight on Earth
You can see the Mont Blanc from the top of the Hohneck which is almost 250km. The first time when I was a kid, I couldn't trust my parents, it was like impossible to see something that far.
flaie··on Ask HN: How did you move from IT/software to something unrelated?
Fantastic work!

I'm into photography as a hobby since 10 years. I started movie making this year, it's harder than I thought to make everything right. The post production work is also more challenging than for still photography.

I would be interested if you had any good links to get started and progress? What camera did you use? I'm making a movie about some cities, but it's taking more time than I expected, for something far from the quality I had in mind :-)

flaie··on Swift is like Kotlin
In kotlin you can also write:

    var name: String?
    // some code
    name?.let {
        // here name is not nil and can be accessed via variable "it"
    }
    // or 
    name?.let { name ->
        // here name shadows the previous variable, and is not nil
    }
flaie··on Open Sourcing our new Duckling – Probabilistic Parser Rewritten in Haskell
I'm interested to know why you dropped Clojure. How Clojure wasn't meeting your needs?
flaie··on Ask HN: How did you acquire your first 100 users?
I didn't knew about your website, and I was planning to improve my Italian soon. Seems I'll be starting right now, and it comes really handy to read the newspapers.

Good stuff!

flaie··on Show HN: Webhook – A lightweight configurable tool written in Go
I also wrote one a year ago called harpoon after searching for one not involving nodejs or apache & PHP. It has a tunneling feature using localtunnel.me. It is targeting only github.

https://github.com/agrison/harpoon

flaie··on The JVM is not that heavy
This is non-sense, something like Spring boot is easy to comprehend, there's no labyrinthine mess whatsoever. You've got the choice to use other simple frameworks like Spark, or plain libs like Jersey + Jackson. All in all it's still the same, you write your Controller, your services and that's it. Where is that complicated?

And I'm a big fan of Clojure, but it's not because Clojure is cool that Java becomes de-facto a big pile of poo. People have been drilled by so much FUD about Javaland that they simply can't stand to try it correctly without preconceptions.

flaie··on Ask HN: Where should I host my startup?
Clever cloud is a good option, they're very good at what they're doing. Plans start low, and you can scale easily when needed. They do have plenty of options, and support is top notch.
flaie··on Akka.NET 1.1: Akka.Cluster, Akka.Streams, and Multi-Node Testing
Akka is an open-source toolkit and runtime simplifying the construction of concurrent and distributed applications on the JVM. Akka supports multiple programming models for concurrency, but it emphasizes actor-based concurrency, with inspiration drawn from Erlang.

https://en.wikipedia.org/wiki/Akka_(toolkit)

This is a .Net port of Akka.

flaie··on Coconut – Pythonic functional programming language
It's even more concise in Clojure:

    (defn sum-of-squares [a] (reduce + (map #(* % %) a)))
    (sum-of-squares [1, 2, 3]) ; => 14
flaie··on Microservices with Go, go-microservice-template and Minke
You're definitely the one trolling here.
flaie··on Tech workers are increasingly looking to leave Silicon Valley
It usually means working on apps used by a lot of people, entertaining stuff and exciting new technology. That "style" is not available in every part of the world.

In some places of Europe it's most of the time just working for bank, insurance, industry or european institution with too old technology, long and fixed schedules and not so much excitement or feeling of making something useful. Add this to under-market salary, suits everyday, ... Developers are not killing it there, they just cost money, they don't have that aura of hype, respect, perks and all.

But it's starting to change I guess (and hope).

flaie··on Show HN: GDOM – GraphQL for DOM traversing
This is a nice and interesting project!

Obviously, I had to do it for HN:

    {
      page(url:"https://news.ycombinator.com") {
        items: query(selector:"tr.athing") {
          rank: text(selector:"td span.rank")
          title: text(selector:"td.title a")
          site: text(selector:"span.comhead a")
          url: attr(selector:"td.title a", name:"href")
          attrs: next {
            score: text(selector:"span.score")
            user: text(selector:"a:eq(0)")
            comments: text(selector:"a:eq(2)")
          }
        }
      }
    }
In order to do that, I had to fork to add the support for "next" which will retrieve the immediately following sibling (ala jQuery), due to how HN is structured as table rows.
flaie··on Why Go solves so many problems for web developers
Either you make a method of it and then you can call it in 1 line, or you can use some libraries like OkHttp from square which will let you do that with only 5 indented lines, not 20+.

    Request request = new Request.Builder()
        .url("http://example.com/upload")
        .post(RequestBody.create(IMAGE_JPEG, file)
        .build();
    Response response = new OkHttpClient().newCall(request).execute();
But yes Go's standard library is cool, but Java's ecosystem is too, and larger.
flaie··on The Leica Q: A six month field test
From what I've seen the Canon 35L II is unbeaten
flaie··on My bank has an API so I built online banking
It's postman, see: https://chrome.google.com/webstore/detail/postman/fhbjgbifli...
flaie··on 0.30000000000000004
It does not if you pass the string representation of the float you're working on. Like BigDecimal in Java.
flaie··on A Cartoon Guide to Flux
Indeed great explanation, but the Flux one seemed a little easier for me. This is the first time I read about redux, and even with the cartoon it feels complicated.
flaie··on Things I did to reboot my life
Two months ago I also evicted anything that's not water during 101 days, meaning no soda, no coffee, no tea, no fruit juice, only plain water. At the end of these 101 days I wasn't feeling better, not that I was feeling bad before but it didn't changed anything during the day, I didn't felt more energy or anything else. Admittedly, it was tough to quit during the first two weeks.
flaie··on Ask HN: What stack would you use to build a CRUD web app on the JVM today?
Definitely Spring Boot with spring-data (if it supports your database/nosql system) since you're going to do a CRUD app, it will manage a lot for you. Add it spring-data-rest and you've got your models exposed on REST for free. If you want to secure some REST operations, spring-security got you covered.

Then on the client side you can add some hype using React or what's hot at the moment. Joke aside, on the server side Spring is solid, the whole thing is well engineered and it got you covered on every aspect of this kind of app, and then more.

flaie··on Introducing Lemur
Thanks for your shameless plug! I didn't knew about this, and that is awesome.
flaie··on Show HN: Speedsums
This is the script I used, but yours blocks also on 119 for me.

    var answer = function() {
      var q = $("#question").text().replace(/x|÷|=/g, function(m) { return {'x':'*','÷':'/','=':''}[m]});
      $("#answer").val(eval(q)).keyup();
    };
    $('#question').bind("DOMSubtreeModified", function(){
      setTimeout(answer, 200);
    });
    answer();
Don't have much time to search why :-)
flaie··on Show HN: Speedsums
I could get to 118, but it doesn't want a 119th answer, or the UI gets completely broken.

http://imgur.com/HG0J9fN

flaie··on Show HN: Dropkick – a simple CMS with an HTML or Bootstrap template
I also like others don't think that bashing competitors is the way to go for you, whether your product is great or not. The price listed at the end of the page adds to the bad taste for me.

However you may notice that your Demo page has been "hacked", in a truly great way, redirecting everyone to wordpress.org.

    <p style="text-align: justify;">This is a little test.&nbsp;<em> <strong>lol</strong></em></p>
    <p style="text-align: justify;">&nbsp;</p>
    <p>
        <script>// <![CDATA[
            window.location = 'http://wordpress.org';
        // ]]></script>
    </p>
flaie··on 5 programming problems every Software Engineer should be able to solve
I took a chance and wrote a solution in Python.. in less than an hour. https://gist.github.com/agrison/1a27a50c22a7f46df17c

Next step is to print that and show my boss what a privilege it is for him to have me in his team :)

flaie··on A command-line weather app built using Elixir
This is much much better. Closer to "beautiful" than the one featured here.
flaie··on Jodd – The Unbearable Lightness of Java
Spring boot.
flaie··on Dropwizard 0.8.0: Java framework for ops-friendly, high-performance web services
Don't you know the difference between the startup of an application container (which takes 3-4 seconds) and a page refresh which depends on what your application is doing?

There are a lot of companies using Spring, at least in Europe I can't count them. I don't know on what planet you're living :)

← PreviousPage 2 of 4Next →