HNHacker News
TopNewBestAskShowJobs

JTenerife

148 karma · joined December 18, 2013

submissionscomments
JTenerife··on Rust concurrency: the archetype of a message-passing bug
"Therefore, rather than making you spend lots of time trying to reproduce the exact circumstances under which a runtime concurrency bug occurs, incorrect code will refuse to compile and present an error explaining the problem. As a result, you can fix your code while you’re working on it rather than potentially after it has been shipped to production. We’ve nicknamed this aspect of Rust fearless concurrency. Fearless concurrency allows you to write code that is free of subtle bugs and is easy to refactor without introducing new bugs."

https://doc.rust-lang.org/1.30.0/book/second-edition/ch16-00...

These sound like quite bold claims to me.

JTenerife··on The Go Compiler Needs to Be Smarter
No benchmarks or any other numbers. I wonder how much faster some typical Go code (some CLIs, Hugo or webservices) will run? Around 1%, 5% or 10%?

The Go compiler doesn't need to be smarter for Go's usecase. If it can be made smarter, fine. For best possible performance look at C/C++ or Rust.

JTenerife··on Guitar – Git GUI Client
What issues are there with the privacy policies? Did I miss something?
JTenerife··on Go Developer Survey 2019 Results
You could apply for a free license for open source.

https://www.jetbrains.com/go/buy/#discounts?billing=yearly

JTenerife··on Go Developer Survey 2019 Results
For individuals only $89:

https://www.jetbrains.com/go/buy/#personal?billing=yearly

JTenerife··on Web Development Simplified with Svelte
Does anyone know what's the status of Typescript support in Svelte is? This thread is understandably locked:

https://github.com/sveltejs/svelte/issues/1639

Still I'm curious.

Typescript and RxJS (or MobX) with Svelte as the afterthought (https://michel.codes/blogs/ui-as-an-afterthought) would be a nice combo.

JTenerife··on Go 1.13 Release Notes
Rust needs to settle down to reach broader adaption, because the ecosystem must stabelize. No business oriented project manager would choose Rust as an alterative to Go or Java while Rust has "only" a community http lib on version 0.12.

Sure, async needs to be shipped and polished, but then Rust needs to tell the world: "We have all you need and as stable as you need."

JTenerife··on Google just deleted my nearly 10-year-old free and open-source Android app
> Google's impact on the world is strongly positive.

I couldn't disagree more. Google doesn't make bazillions of dollars because they provide us with live traffic on maps. Google has significantly enabled and actively driven the mindless consume-everything-all-the-time culture with all the horrible consequences for our mental-health and the environment.

The world would be a much better place without the ones like Google, Facebook and Amazon.

JTenerife··on New React DevTools
As if the improvements of the dev tools weren't enough, they've created a sweet interactive tutorial (https://react-devtools-tutorial.now.sh)! Don't know it it's new, but I'am very impressed.
JTenerife··on Hooks-Based WebGL Library for React
Agreed that this is trivial model.

Regarding React: In many webgl use-cases UI-framework overhead can be neglected as the user interacts either with the scene or the UI rendered by the framework. The browser doesn't usually need to update the DOM and the scene in one frame.

JTenerife··on Flutter desktop shells
I've used PyQt some years ago and loved it. I can't remember any bigger issues at all. Super productive and fun.
JTenerife··on Observables, Side-Effects, and Subscriptions: Some Reactive Best Practices
This does a good job: https://gist.github.com/staltz/868e7e9bc2a7b8c1f754

We are using reactive programming basically everywhere. Example (Angular):

The Angular Router has an Observable "paramMap". We don't subscribe to it but are creating another Observable for the data that should be loaded.

  getData$ = (
    paramMap$: Observable<ParamMap>
  ): Observable<MyData> => {
    return paramMap$.pipe(
      // Create a query string
      map(paramMap => {
        // some pure function - business logic
        return getSomeQueryBasedOnTheRouteParams(
          paramMap 
        );
      }),
      // get the data
      // select$ is a method on the customStore that wraps the http client and does some more stuff
      // The switchMap is actually one of the concepts that I found initially not the easiest to understand 
      switchMap(someQuery=> {
        return this.customStore.select$({
          query: someQuery
        });
      }),
      map(rawData => {
        // pure function with business logic
        return modifyData(rawData);
      }),
      shareReplay()
    );
  };
Then it goes on with filtering, etc.

   getFilteredData$ = (
     // filter:$ is in our case a simple Subject we're calling next(newFilterValue)
     // NGRX, NGXS or Akita are popular state management libraries to manage this kind of state
     filter$: BehaviourSubject<string>,
     data$: Observable<MyData>): Observable<MyData> => {
        combineLatest(filter$, data$).pipe(
          // Do the filtering using pure functions
          map( ...
            return myFilterFuntion(filter, data);
          )
        )
   };
The filteredData$ Observable can be consumed via async pipe in a component.

The business logic is the same as in imperative-pull code. But using the abstraction of RxJS a lot of boilerplate and indirection vanishes. RxJS is not the easiest abstraction to learn (for me), but as with all, once you're comfortable a lot of the likely intimidating code above will become familiar. You just focus on writing business-logic in pure functions and combine it with RxJS.

JTenerife··on Observables, Side-Effects, and Subscriptions: Some Reactive Best Practices
>> because of the side effects that get caused from subscriptions.

Hmmmm, I wonder how a subscription can cause side effects? I can only think of mutating the data in the subscription. But that should not be done.

We are using RxJS with great success but you should go all the way with Observables: All computations/combination/etc. should be done in pipe()s. If you need to combine some plain data with Observables create a subject for the plain data and pipe(combineLatest(),map(), ...). Don't mix it into subscriptions. Subscribe at the very end of the chain. No modification in subscribtions.

JTenerife··on Rocket v0.4: Typed URIs, Database Support, Revamped Queries
Very efficient usage of CPU and RAM. Regarding cloud functions like AWS lambda: Fast startup.
JTenerife··on Rust 2018 survey results
How are you wrapping your Rust code? Lambda doesn't support it yet, does it?
JTenerife··on How I’ve Attracted the First 500 Paid Users for My SaaS
I wonder what would be a good approach to scale support. It seems that the creator is currently handling all inqueries by himself. @Takuya: How many support requests do you get per day?
JTenerife··on History of Spring Framework and Spring Boot
Spring is a very powerful but complex framework. It's very easy to get started (Spring Boot). I especially love JPA as I just need the persistence to be getting done. The architecture is clean and standardized.

However, you have to be prepared for a serious learning curve when needing customizing (e.g. attribute based authorization with Spring Security and AOP). It's a jump in the cold water after the pain- and effortless start using Spring Boot.

I haven't mastered Spring yet (in depth understanding of DI, AOP and the configuration), but I feel that when mastered, Spring is the ultimate framework to build concise and clean applications.

JTenerife··on Germany's Wolf Population on the Rise
That's not what I've said. And I'm not suggesting this. Your comment is a bit hostile.
JTenerife··on Germany's Wolf Population on the Rise
Wolves are preditors. There's a reason why our ancesters have evicted them.
JTenerife··on Germany's Wolf Population on the Rise
How about your kids? In Germany there are a lot of small villages. Kids still playing in the forests and fields.

It's plain stupid to forget that wolves are predators.

JTenerife··on Angular 5.0.0
I came from React. Angular is a much more complex and strict tool, but with that comes more power (build-in functionality): It's a framework not just a view layer. So it takes more time to learn, but with React you need to first choose, then learn Router, http, ... as well.

Now, it all depends what you prefer / what's good for you. For me it was a huge productivity boost to switch to Angular because they just tell me how to do things. I don't spend much time on thinking how to architecture or about which library to choose (e.g. MobX vs. Redux), I just do it. With WebStorm it's two clicks to get a component / service / etc. scaffolded. That is pretty much the fasted it can get. Once you know Angular, you can develop really fast despite it's complexity.

But that's really a personal choice. If you need structure and tend to get lost in decision making, give Angular a try.

For the same reasons I'd choose for larger teams.

JTenerife··on Angular 5.0.0
Last year in August I left Angular because of the v2 nightmare. So, that's over a year ago. I think they've learned from it. Came back for v4 and never had an issue with it being immature.
JTenerife··on Documenting the Web together
Yes, for hints like "how do I", but for JS ref like "methods on a Set" I use it all the time. Problem with SO is that often the anwsers are quite old (<=ES5).
JTenerife··on Microsoft gives up on Windows 10 Mobile
I remember when they tried to push the first version of Windows Phone out of the gates. I think it was 2008 or 2009. Then - as to be expected with that ambitious projects - they already had big delays. What happened then is a good example of how big companies seem to have problems taking the necessary radical steps when projects don't perform. I've experienced this at my employee. Only that the project I have in mind is more than 10 years heavily underperforming while spending easily over a billion dollars. Microsoft seemed to let the Windows Phone project keep going pretty much the same way as it started ... same project lead, probably a lot of the same people. What happens than typically is that good people don't work on this kind of projects.

Then the whole Nokia mess ... what a sad story.

I remember when I finally gave up any hope for Windows Phone: It was when I read that Samsung and HTC ought to pay license fee to Microsoft. That was probably the biggest mistake in Microsoft's history. They should have payed them 50 $ per sold Smartphone with Windows Phone on it.

Anyway - I still have a Windows Phone from my employee and like it.

JTenerife··on Firefox Quantum Lands in Beta, Developer Edition
Can you enlighten me what's the thing with the developer edition?

It seems to have features that the standard edition doesn't have. But does the standard edition have feature the dev edition doesen't?

Or are there some different features? Any of them reason not to use the dev edition in daily browsing?

JTenerife··on It’s time to kill the web app
Only the giant companies have the power to recreate the web. If they do it will be first and foremost better for their businesses. I don't even want to think about the influence of the secret services of the world.
JTenerife··on Qantas wants to fly from Sydney to New York or London nonstop
Some years ago I travelled from Melbourne to Frankfurt a couple of times in a year. I took flights with stops at Singapore and actually liked the 2-4 hours break.
JTenerife··on Quitting Caffeine
Where there're sponsors there're studies. Don't trust those. Not saying that they're scientifcly wrong, but similar studies have been made for red wine and dark chocolate. Also, there was / is the green tea trend. You need to take all effects of a substance into account when judging the health benefits.

If you want to do something good for your health, drink herbal tea. But why do most of the people prefer coffee or green / black tea? Or drink red wine or eat lots of dark chocolate. Because those are stimulants.

JTenerife··on Bootstrap 4 Beta
I've just started using Bulma with Angular. I don't need or want any javascript, but a pure CSS framework, which Bulma is.

Edit: And can be easily customized.

JTenerife··on Ask HN: Does success in work bring you happiness?
Ambitions, e.g. for success at work or sport, are natural and come from the urge to have a high social ranking. After all we're first and foremost social beings. So our position among others is inherently important to us. But we're not living in clans any more. Civilisation has made things difficult. This kind of success (to assert ourselves over others) is overly glorified. Athletes are looked at god-like. Money and fame are overrated. To some extend it's natural to try to be successful, but the world is full of extremely successful people who find themselves being unhappy.

Those people often see that helping others is a true source of happiness.

Matthieu Ricard is a quite famous monk having published a lot of interesting stuff:

http://www.matthieuricard.org/en/

This one is on the topic:

http://www.matthieuricard.org/en/books/happiness-a-guide-to-...

Page 1 of 3Next →