HNHacker News
TopNewBestAskShowJobs

amm

102 karma · joined September 16, 2008

I build large systems powering core infrastructure in Europe.

Sometimes available for contracting.

dappled.mantel.0x _at_ icloud.com

submissionscomments
amm··on Google and AT&T invest in Starlink rival for satellite-to-smartphone service
>AST SpaceMobile does not seem like they are operating a viable business model. They have been publicly traded for several years and the market seems to agree.

Why would the stock price for a pre-revenue company with massive capex needs and high execution risk do great in a challenging macro environment?

amm··on SpaceX Has Launched Starlink's First Direct-to-Smartphone Satellites
Cool stuff, but it sure looks like they shipped a premature version asap to front-run the competition.

AST SpaceMobile is getting ready for commercial ops this year with „full broadband“ 5G satellites.

For the record, I am not affiliated with them. I just need that kind of service desperately.

amm··on {n} times faster than C
Back-of-the-envelope approach that should eliminate most branching:

  int table[256] = {0};                                                           
                                                                                
  void init() {                                                                   
    table['s'] = 1;                                                             
    table['p'] = -1;                                                            
  }                                                                               
                                                                                
  int run_switches(char *input, int size) {                                                 
    int res = 0;                                                                
    while (size-- >= 0) res += table[input[size]];
    return res;                                                                 
  }
amm··on IRIS²: The EU’s Response to Musk’s Starlink
Let's see. ASTS claims to have solved this problem. Apparently their satellites have 30mbit+/s throughput with regular 5G smartphones at <100ms latency. If this stuff works (big if), it's going to disrupt the cell tower industry over night and bring broadband to remote places where towers are too hard and too expensive to operate.

Also, I imagine 5G satellites will be of interest to the DoD.

Anyway, the main point I was trying to make is: EU competition is so far behind (even conceptually) that they are playing catch up with 10 year old tech instead of looking where the puck might be going.

amm··on IRIS²: The EU’s Response to Musk’s Starlink
> What's your source for good cost of launching satellite communication networks?

- falcon 9 - $2700/kg

- falcon heavy - $1400/kg

- ariane 5 - $9000/kg

> If the current one works - why would they?

This is just low quality flame bait. If any of the before-mentioned (US) companies succeed commercially long-term, they will transform world-wide internet access especially in less developed countries.

For clarification: as a European citizen, I want the EU to stay competitive in the space tech sector.

amm··on IRIS²: The EU’s Response to Musk’s Starlink
Too little, too expensive, too late?

Once again the EU is playing catch up with last gen tech. Starlink is almost 10 years old - conceptually even older. Iridium has been around for over 25 years.

If the EU was serious, it should have invested proactively in next gen satellite direct to device tech that is around the corner in the US.

AST SpaceMobile is close to starting commercial activity for satellite based 5G that is supposed to work with any smart phone. Starlink is working on something similar with T-Mobile. G-Sat already has minimal D2D capability working with the latest iPhone generation.

Also, I wonder where cost competitive launch capability is going to come from for launching hundreds of satellites. Russia? China?

amm··on Google developing own CPUs for Chromebook laptops
CPU market fragmentation in the pro-sumer space is not necessarily a bad thing and might pave the way for RISC-V adoption in the coming years.

More competition and a more diverse product landscape usually ends up benefitting the customers.

amm··on Why We Chose Rails to Build Gitlab
It depends on the project.

Java is the goto language in more conservative environments (e.g. insurance, banking, government) and I never had to justify using it there.

In small shops/startups it’s different. Hype is a real thing and running your backend on “25 year old tech” often does not attract the right kind of people you need to have in this space ;^).

That being said, I’ve been shipping stable and performant backends on the JVM for over 15 years and I could not be happier with the state of Java in 2019.

The ecosystem is amazing. Tooling, too. Talent and jobs are available everywhere.

Also, there is an active effort to modernise Javas syntax and I think it’s going into the right direction.

amm··on Ask HN: Cheap places to live with a good intellectual atmosphere?
Vienna, Austria.

It has been ranked the most liveable city in the world for some years in a row.

Cost of living is low compared to the European average; you can rent a medium-sized apartment for 600-700€/month.

Everyone speaks English. Co-workers from Spain never bothered with German, because they can get anything done in English.

Viennas public transport system is cheap (30€/month) and excellent. You can get anywhere in the city in a reasonable amount of time. Generally, all public infrastructure is in great shape.

The tech-scene is so-so. It's certainly not London or Berlin, but there are some startups if that's your thing. There are plenty of enterprise IT jobs in banking, insurance or government.

Education and healthcare are free and nature is close. It's a 1 1/2 hour drive and you're skiing in the Alps; 2 hours and you're in the Salzkammergut swimming in mountain lakes.

All in all, it's a great city to raise a family.

amm··on NSNotificationCenter is Probably an Anti-Pattern
(Global) notifications are sometimes the only sane way to deliver a message from one part of your application to another one without explicitly wiring them together. If you're working with some kind of plugin system they're also incredibly useful to deliver state updates to plugged-in components.

Once your codebase reaches a certain size, an event bus is a very powerful pattern that, if applied correctly, will keep your classes/functions/... decoupled.

Naturally, there is a huge potential for misuse, but that argument probably applies to any design pattern.

amm··on The Unemployable Programmer
Degrees only matter for "serious companies" and are used as a filter by often clueless HR employees without technical background. As long as you can prove practical experience, you should be fine.

Your network, on the other hand, becomes more important as you get older. Hiring an unknown person in his/her 40s or 50s has a much lower risk/reward ratio than hiring a random developer in his 20s who will a) do whatever you tell him without questioning anything b) work himself to death and c) work for almost no compensation.

Stay away from oDesk and online freelancing in general. Most of what's outsourced online is low skill, low risk and low reward work (landing pages, analytics integration, etc). Almost everyone can do it, so suddenly you're competing with everyone on the planet instead of just a couple of 100-1000 freelancers in your city. One of your biggest advantages over 2nd/3rd world freelancers is your location, language proficiency and cultural background. Use it to your advantage.

Also, hiring is really tricky. No one has really figured out how to do it right and so you have these hiring rituals with IQ tests, personality tests, weird screening procedures etc. In the end no one wins, because interviewees have gotten insanely good at playing the hiring game and employers have become overly careful just not to hire a random guy who will mess up their code base in 6 months and then leave for the next gig.

My personal advice to the OP: if there are tech/startup/... meetups in your region, go there. It's a good starting point and it's fun most of the time! You can get to know some interesting people and that might open some doors!

Best of luck, if you're reading this!

amm··on Collateral Damage
I don't get the point. Ad-blockers are available for Android and most non-tech people don't even know that ad-blockers exist. So for the large majority, nothing will change unless Apple ships with ad-blocking on by default (which they won't).

I also think that blocking ads is everyones right just as it's your right to record stuff on TV and filter/fast-forward ads. If business models based on advertisement don't work out anymore because of blockers (which i highly doubt), companies will adapt and start monetising their content in another way.

Apples search integration is a different story, though.

amm··on Ask HN: What are you doing to improve your health?
Different things work for different people, and there's a LOT of anecdotal evidence on the internet about that "one routine/diet/..." that will fix your health in a month. That's not how it works and it's potentially dangerous.

If you have serious health issues, you need to see a professional. If you just want to improve your overall well-being, focus on diet, sleep and exercise and be consistent about it.

There's many books written by very smart people who have a professional background and who can back up their advice with studies/papers/etc.

Personally, I try to watch my diet, work out 2-3 times a week doing strength and cardio training and try to be in and out of bed at the same time every day.

amm··on Ask HN: How much to put in a resignation letter?
Never burn bridges.

Keep it as formal as possible and be polite. If you have an exit interview, don't complain about former peers or managers.

amm··on Internet of Crappy Things
The formal verification subject is tricky. For a lot of software (especially in the web startup world) it is often not possible to hire someone trained in formal methods to perform extensive checks/proofs on software which undergoes rapid change as the company pivots every couple of months.

Functional programming alone doesn't give you any guarantees about safer or more correct software than any object oriented language unless you ruthlessly exploit its type-system. Even if you do, the specs have to exist upfront and they have to be correct and stable. One can make the case that isolating side effects and capsuling them in a controlled structure is "the right thing" to do, but that alone does not give you any formal verification of your program.

From personal experience I can only say that whenever I brought up formal verification because of security/correctness concerns, I was immediately shut down by business, because it's simply too expensive for software that doesn't control life-critical systems.

amm··on Ask HN: How do you use Docker in production?
We use docker extensively to ship a large and complex legacy platform that was designed to run as a hosted service, but was transformed into an on-premise product.

The system is composed of several components originally designed to run on separate VMs for security reasons. Luckily, we were able to translate VM <-> docker container, so now each component has its own Dockerfile + shell script for booting up and providing runtime configuration.

Docker helps us solve several problems:

* A canonical build. It provides a way to configure the build system, fetch all dependencies and execute a reproducible build on different machines/environments. It's also used as documentation when engineers have no clue, where settings/parameters come from.

* A super fast build pipeline and release repository. We use maven -> nexus, docker -> docker-registry, vagrant -> local export for a completely automated way to bootstrap an ovf-file that can be deployed at customer site. Releases for the old platform were not automated and took the previous teams weeks (!) on a single platform.

* A way to restrict resources. Given some security constraints from the product, lxc + docker helps us restrict memory and networking.

* Shipping updates. We deliver automated updates through a hosted docker registry for customers who open up the appliance to the internet. Previous teams were not able deliver updates in time for a single hosted platform. We can now ship new releases and have them deployed at several customers data-centers in a matter of hours.

We have been using docker in production for almost a year now and despite headaches in the beginning it's been absolutely worth it.

amm··on Hello Haskell, Goodbye Scala
>When did you use Haskell?

Roughly two years ago.

>I think the silliness about PhD's is very very silly.

Of course it is. I just wanted to make a point that the "average programmer" has probably never seen a single line of ML-syntax before.

>About profiling -- I have never profiled a Scala/Java application, but how much easier is it compared with: "cabal configure --enable executable-profiling", and then running the program with "+RTS -p"? It may not be point-and-click, but it really is not hard at all.

I don't remember exactly what we tried, what worked and what didn't; we had no experts on the team, and just came to the conclusion that hooking up jconsole/yourkit/<insert jvm profiler here> to a running jvm process and see what's happening in real time on an app server was so much more comfortable.

amm··on Hello Haskell, Goodbye Scala
For personal projects or for learning the principles of FP, there is nothing wrong with using Haskell.

From personal experience however, I will not be using Haskell again for a larger professional project, because our team ran into too many time consuming issues and problems that have been solved successfully in other languages/environments (especially the JVM) like dependency management or reasoning over runtime characteristics before deploying the application on production systems. Especially memory consumption is very hard to predict.

Of course, the language also has its benefits and even after some years it tickles your brain just the right way.

I like programming in Haskell very much, but in real world projects (you know - when you work in a team not only consisting of PhDs) I prefer Scala or Java, because getting a war file deployed or profiling an application is just so much easier.

YMMV, of course.

amm··on Shall We Use Clojure?
> I've had first-hand experience of how technology choices affect companies and it can be very painful down the road.

I've had the same experience. A couple of years ago we decided to implement a rather large part of a project in JRuby (the other part was written in Java), because it seemed to be the right tool for the job: a scripting language that can interoperate with java libraries out of the box.

In retrospect it was a bad decision, because the interpreter error messages were (are?) cryptic (at least compared to what you get with Java) and IDE integration was really, really bad. Cross-language re-factoring was broken and we ended up unit testing almost every line of JRuby code to make sure we didn't introduce regressions when making changes to running systems.

There's a part in Peopleware (http://www.amazon.com/Peopleware-Productive-Projects-Teams-2...) where the authors describe that the choice of programming language has almost no impact on the success of a project. So why add additional risk when there's no proven benefit?

Edit: Also, people always argue that they can get things done much faster in "esoteric" languages, but forget about the time spent on maintenance, bug fixing, explaining code to new colleagues, ...

amm··on Want good programmers? Then pay them.
I am from Vienna as well and I have been working for about 5 years in this city. From my experience, almost all numbers in job adverts are merely symbolic. You are supposed to negotiate. If you have some expertise and make a good impression, you can easily double the number in the advert.

As an austrian colleague once put it: Maul auf oder Geldbörsl auf!