HNHacker News
TopNewBestAskShowJobs

struppi

1,007 karma · joined August 8, 2011

Independent consultant since 2006. Helps his clients become better at developing high-qualty software. Java, Clojure, .NET, ... . Agile enthusiast, bonsai gardener, chili fan, amateur cook, rc car racer, climber.

Find out more about me at http://davidtanzer.net Twitter: https://twitter.com/dtanzer Email: business@davidtanzer.net

submissionscomments
struppi··on Marmota: Simple Markdown Presentations
Hi! Author of marmota here - Even though I didn't post it to YC yet: If you have any questions or feedback, reply here!
struppi··on Show HN: MetalShell – Build GUIs for JVM Apps with HTML, CSS and JavaScript
Thanks.

More performant? Maybe - at least multithreading, fork/join, ... would be easier.

Smaller binaries? No, probably even larger, since the chromium embedded framework (CEF) is biiig. But it would probably be possible to add other HTML renderers later (i.e. CEF during development b/c of the excellent debugging features, JavaFX WebView later).

It would make most sense when you either need multi-threading or have existing Java libraries/code you want to re-use or have mostly Java developers...

struppi··on Show HN: MetalShell – Build GUIs for JVM Apps with HTML, CSS and JavaScript
As-is, it would only work on platforms where java-cef (the chromium embedded framework) works.

But one could probably add other HTML renderers too (Android, JavaFX WebView, ...).

struppi··on Show HN: MetalShell – Build GUIs for JVM Apps with HTML, CSS and JavaScript
I think the biggest difference is that I am using the chromium embedded framework (java-cef), so you get e.g. the chrome debugger for debugging your HTML/CSS/JavaScript.

My goal was to use java-cef, but hide all the weirdness.

Also, there's no pre-defined data binding, so a bit less opinionated in this case.

struppi··on Is killing the boom the key to supersonic air travel?
This is exactly the reason why I usually prefer a 6-hour train ride to a 1-hour flight (at least in Germany, Austria, Switzerland).

Train: Go to the station (near city center), arrive 10 mins before train departs, get on the train, read/work/eat/drink for 6 hours, get off the train. And then you are already at the city center of your destination!

The total time spent when flying might be shorter (4.5-5 hours), but that is not worth the hassle.

struppi··on Mastodon WTF timeline (2017)
Yep. I almost stopped reading (but read on) after this sentence:

The coverage, all from Blue-aligned media, largely presented Mastodon as a cool new alternative to Twitter that would be free of "harassment," which is a Blue code word for the mere existence of the Red side.

This is clearly not from a neutral person. He very clearly picked a side.

struppi··on Blocked by JSConf.eu Twitter account
OK, this is now totally off-topic WRT the original blog post, but... We had a very short code of conduct at SoCraTes Austria.

Then we thought about what might happen when we have a violation (endless discussions about whether that was actually a real violation and whether our response was justified, maybe even within the team).

So, we sat down and wrote a slightly longer version, which tries to spell out some unwanted behaviour and some guidlines for conference stuff ( http://socrates-conference.at/code-of-conduct/ ).

We also wanted to explain why we have the CoC in the first place and how we'd like people to behave. It surely is not perfect (probably too long and too short at the same time).

But if you think "don't be a dick to other people" would suffice as a CoC, imagine you are the organizer of an event, and then try to list all the things that might go wrong. Be creative - I'm sure you can imagine situations where it does not suffice.

struppi··on Blocked by JSConf.eu Twitter account
They probably have personal data / personal identifiable information about you when they blocked you and still know about it... And you can ask them what data they have about you.
struppi··on New US Tariffs are Anti-Maker and Will Encourage Offshoring
Several European leaders have said publically (though in nicer words) that they don't trust America under this administration anymore.

e.g. Sebastian Kurz, a few days ago (1): "The American President is unconventional and American politics has become unpredictable. [...] This is a challenging geopolitical situation."

(1) German Interview - https://derstandard.at/2000081642343/Kanzler-Kurz-Wer-auf-Or...

struppi··on Scrum disempowers developers
Maybe what's missing in my original comment... What I'm trying to say is that there is a certain kind of organization (mostly traditional / old organizations) who would have these kinds of problems with any agile method.

And there are other organizations who can make any agile method work for them.

So, it's not really Scrum's fault when it fails (at least not always). And it's not really (or not only) Scrum's achievement when it succeeds.

As a friend of mine, Samir Talwar, once said: "To be good at software development, you need an organization that's optimized for software development. Most organizations are optimized for something else."

Anyway, if you implement a process, but ignore even the very short (22 pages) guide that summarizes the process, but instead cherry-pick what you think will work well in your org, then don't blame the process when it does not work.

As I wrote in my book: "But changing Scrum so it works within your company will not make you more agile – It will make Scrum less agile!"

struppi··on Scrum disempowers developers
If you do Scrum like that, you're doing it wrong (I know, no true Sctosman [1], and I know, there are actually dark patterns [2]).

I wrote a whole book about "Agile Anti-Patterns" [3]. Most of the book's content is about things that many companies get wrong when they start with agile or lean software development. Because it is very easy to get those things wrong.

Yes, those problems are extremely common. Not only with Scrum - Organizations also face those problems when they try Kanban or SAFe or whatever. Because, change in a traditional organization is hard. And to really implement Scrum, you'd probably need to change more about the organization than the org was willing to change.

But those problems are not Scrum's fault. If the team has no power, it is also not truly self-organized. And the Scrum Master is not doing their job.

You could start to improve by creating awareness about the problems. Blaming Scrum may or may not be a good idea to do that - Because, some people in your org may be invested in Scrum. Some mentoring or coaching for your Scrum Masters, Product Owners and developers and managers might be a better start.

[1] https://www.davidtanzer.net/david%27s%20blog/2014/03/26/no-t...

[2] https://ronjeffries.com/articles/018-01ff/hills-to-die-on/

[3] https://www.quickglance.at/agile_antipatterns.html

struppi··on Facebook Tools Are Used to Screen Out Older Job Seekers, Lawsuit Claims
And probably als JavaScript.
struppi··on I wish mum's phone was never invented
I know, I am saying this every time there is a discussion about social media, but...

Deleting the Facebook and Twitter apps from my phone was one of the best decisions in the last 12 months or so.

More time for the kids. Less distraction. I still use those services, but only on a computer - so, not all of the time.

struppi··on I became CEO at 20. Here's what I learned
I agree that 1) and 3) are hard, but you don't have to do 2) like you said. Asking strangers is not that hard, and most people I know don't find it annoying to be asked. Just do not ask for an unbounded amount of time.

Ask specific questions. Even to strangers. Many will be flattered you asked and will answer. Some will tell you that they do not have time or energy right now. Many will not answer at all (1).

How do I know? I do ask strangers for advice. And I am open to questions: From time to time, I publicly say that on Twitter (like "Reminder: Ask me anything about code quality, technical excellence, TDD or freelancing. DMs open"). I get interesting questions from total strangers, and I answer them as best as I can.

So, maybe also do search for people who offered their help to strangers in the past.

Maybe you will not find a mentor right away by asking strangers for advice, but maybe you can be able to evolve a conversation into a form of mentorship.

(1) If someone answers in a rude or condescending way, block them.

struppi··on The Economics of Writing a Technical Book
A designer I know IRL helped me with the design. I also had a professional copy writer I know IRL help me with the German texts (not the English ones, though). Paid both of them, of course, but that was not too expensive, since they only helped, and I did a lot on my own before and after their involvment.

The Artist is Irina Linuza. Found her on upwork, and was very happy with her way of working from the start: https://www.upwork.com/o/profiles/users/_~01678d123d582fc42e... That was more expensive, since the illustrations are so detailed. Simpler ones would have been cheaper, of course, but that's not what I wanted.

struppi··on The Economics of Writing a Technical Book
You are right, that's a very positive effect. But it was not my main reason.

Also, don't do it for the money. Some people do quite well with books, but for me, at least, it's more of a prestige thing so far.

struppi··on The Economics of Writing a Technical Book

    Self publishing is awesome because you keep all the money, but it takes years to build an audience.
I can totally relate to that. Some things about self-publishing were much easier than others. Building an audience is hardest so far. Experimented with Google and Facebook ads, stopped because it was too expensive.

Right now, I am only doing content (blog posts, ...) and Twitter. Sales are low, but I am not losing money anymore ;)

For my React-Book, that's OK. But with my other book about "Agile Anti-Patterns", I invested some money in Illustrations and other stuff: https://www.quickglance.at/agile_antipatterns.html So it would be nice to get that money back some time ;)

    Email marketing is more powerful in this space than you might believe. Even today.
I stopped that, too, because it did not work too well for me. And also there are quite a few legal implication when you do that in my country (always have been, not necessarily GDPR related).
struppi··on Twitter urges users to change passwords after computer 'glitch'
Quitting is not unethical at all. You are not required to stay with any company.
struppi··on StreetLend.com shuts down, citing GDPR regulations
"If I made a small site that saves some user data"

Then you already had a ton of legal obligations, you were just not aware of them, since only now everyone is talking about the GDPR.

"FB fucked it up for everyone"

A lot of the things people are complaining about right now were already illegal, before the GDPR. People were just not caring about it.

struppi··on Show HN: ReactCircle – Renders SVG circle and percentage
Yes, you are right.

But still: This is easy to understand (I think I got everything I'd need from the animated gif and the one code example). It looks like it's versatile and will save you at least half a day of googling, coding and testing (unless you are an expert in all technologies involved).

I upvoted it..

struppi··on Apple’s HomePod Isn’t a Hot Seller
Yes. The original iPhone was: Firs, a big wow. Then a longer series of disappointments over the next few months. I remember I didn't buy the first iPhone because you could not write apps for it for the first 9 months or so (Just with JavaScript or a hacked version of XCode). And it was slow and could not do many things that other phones could do at that time.

Bought an Android soon after and so far, I have stayed. But that might change, because of the different privacy policies of the two companies.

struppi··on Show HN: Sparbuch, an event-store for Node.js
I know - We know each other IRL. I am @dtanzer on Twitter ;)
struppi··on Show HN: Sparbuch, an event-store for Node.js
Looks really nice, although some parts of the documentation seem to refer to advanced features.

Is it really necessary to read unpublished events, publish multiple events at once, ...? I guess a large percentage of applications could do without that - Just publish all events immediately and read only published.

IIUC (the docs), this should be possible anyway. So, it might be helpful to describe this standard use case better, and create separate docs for advanced features (not in Readme)...

struppi··on Facebook’s Surveillance Machine
I deleted the Facebook and Facebook Messenger apps from my phone two months ago. I love how well that works for me.

I can still contact people (just have to open my computer) and read FB groups. But I don't really post to FB anymore and don't browse the feed at all.

And I don't feel like I am missing anything. (YMMV)

struppi··on Lab-grown diamonds threaten viability of the real gems
Yes, I also don't understand that "it must be a natural diamond" craze.

With all the problems of natural diamonds, I would prefer a lab-grown diamond...

struppi··on A Career Cold Start Algorithm
Yes. And I think the article is also good advice for coaches / consultants.

When I come to a new team, I always try to find out a lot of things during the coffee breaks. But the approach from the article is more structured.

So, I guess I will try a mix of the two approaches next time ;)

struppi··on Microsoft Surface Book 2 15-inch Review
Hmm. I own a Surface Pro 4 too, and I have a completely different experience. I love it and use it very often. It already almost replaced my "big" Lenovo laptop as my working machine.

Doing everything on the Surface Pro that I also do on the bigger laptop - Programming, writing, image editing, ...

struppi··on Belgium ends 19th-Century telegram service
When I was young, I sometimes got birthday telegrams from my uncle. I loved them - only a single sentence in all caps.

So I am feeling a little bit nostalgic right now. But, of course, I would not want that world back - where you had to pay a small fortune to "instantly" deliver a short message.

And "instantly" meant within a few hours, not milliseconds like today.

struppi··on My most common code review suggestions
Absolutely. So, what I started to do in my java code: Before dereferncing anything for the first time, i add

    assert foo != null : "foo must not be null - remember to wrap optional data in Optional<T>"
Just make sure to run your program (or at least the tests) with the JVM flag "-ea"
struppi··on In Java 3 = 12
I suppose that's something every Java programmer should know: How types are automatically converted during "arithmetic" operations. There are some subtleties (like byte+short => int), but it's not too much to remember.

The deeper question is: Was it a wise choice to disallow operator overloading BUT use "+" as a string concatination operator AND convert all values to strings during string concatenation?

I think not, but it's a rather moot point, since that desing decision is not likely to change...

Page 1 of 7Next →