HNHacker News
TopNewBestAskShowJobs

tpaschalis

873 karma · joined March 6, 2017

silly simple blog

along with contact info

on this link below

tpaschalis.me

submissionscomments
tpaschalis··on Bugatti CEO Mate Rimac: The future of supercars is combustion engines
I think you’re underselling the amount of sophistication and refinement that goes into a modern ICE, which is the backbone of a big part of the global economy.
tpaschalis··on I turned my Kindle into my own personal newspaper
Nice write up!

After a couple of attempts I settled on a a different approach for my old Kobo.

It can connect to Dropbox so I deployed a small app in Fly.io which takes a link, bundles it as an epub and uploads to the right folder. Day-to-day all I use is a bookmarklet

tpaschalis··on Deep vs. Shallow Go Interfaces
Author here, thanks for posting this!

If anyone has any feedback, questions, or any additional examples of deep/shallow abstractions they've used recently, let me know!

tpaschalis··on What it's like working for American companies as an Australian
Regarding the culture bit: I feel that Erin Meyer's "The Culture Map" [1] should be high on any reading list around how to work in a remote environment, especially as a manager. Of course, every individual is different and not everything needs to be taken at face value, but it provides a nice framework to think about how/why other teammates may approach situations in a specific way.

[1] https://www.goodreads.com/book/show/22085568-the-culture-map

tpaschalis··on Ask HN: Which books you have read till now that were worth investing time in?
I'd have to agree. I personally found that the book's structure with the themed chapters doesn't lend itself to a continuous reading; but going in small chunks as the authors intended, the commentaries felt a tad better.
tpaschalis··on Ask HN: Which books you have read till now that were worth investing time in?
- So Good They Can't Ignore You. Even though kinda 'self-help'-ish and repetitive at times, it played a role in shaping the way that I think about my career.

- The Daily Stoic. A collection of snippets from stoic philosophers, tied with examples from modern living, it was a good and lightweight introduction to philosophy.

tpaschalis··on Be good to your mentors
One thing to try might be contributing to Open Source?

Choose a project that looks interesting to you (ideally with a large community and modern tech stack) and join their Slack/Discord/Mailing List. You'll need to be patient and humble and it's going to take a while until you feel really comfortable, but read a lot, ask questions and try to contribute small bits here and there.

This will put you in touch with many interesting and experienced people, plus it's usually a great learning experience.

tpaschalis··on A New Coefficient of Correlation
If anyone is interested, I've also published a Go implementation [1] of the code for float64 slices.

Results seem to exactly match the R and Python implementation, so there will be a second pass focusing on performance, stability and support for categorical variables.

[1] https://github.com/tpaschalis/xicor-go

tpaschalis··on Greek Delivery Giant Efood Faces Major Backlash over Worker’s Rights
Come on, no offence, but you sound like astroturfing.

I have no idea how you may be aware of a company's internal information, but the greek article you linked does _not_ mention rating system names.

Also, but when using e-food there's no way to actually rate delivery people, only restaurants (like you claim above with "Negative reviews from customers...").

tpaschalis··on Shapecatcher: Draw the Unicode character you want
+1. I couldn't get it to understand the partial derivative symbol ∂, unless it was drawn in a very specific way.

But really cool idea, name and execution!

tpaschalis··on Far Cry: How the Fire Burns and Spreads (2012)
Thanks for bringing back fond memories of playing Far Cry 2 LAN multiplayer in run-down internet cafes back in middle/high school. :)

In case you haven't played Far Cry 2 before, here's [1] a great video that showcases the aesthetic choices and art direction behind the game, and how they all fit together. Also [2] showcases the amount of detail that went into making FC2, that isn't always found in more modern games.

[1] https://www.youtube.com/watch?v=mx4eSkMBx-U

[2] https://www.youtube.com/watch?v=FCeEvQ68jY8

tpaschalis··on /* You Are Not Expected to Understand This */ (2018)
This comment has produced one of the geekiest t-shirts of all time.

In [1] Brian Kernighan interviews Ken Thompson, who's wearing a t-shirt which contains the relevant snippet along with a comment "ΕΠΙΤΕΛΟΥΣ ΤΟ ΚΑΤΑΛΑΒΑ!" (greek for 'I finally understood it!').

[1] https://youtu.be/EY6q5dv_B-o?t=1181

tpaschalis··on Ask HN: How do you organise your files and folders?
Great ideas all around here, definitely stealing some!

Personally, there was a time where I grew a little fond of numeric-based naming. It allowed for quickly tabbing between directories, easy separation and predictable ordering (eg. 1xx is for clientA, 2xx for clientB, 9xx is for miscellaneous files etc).

Fun story of how that came up; at some large project they were using Sharepoint for everything. From specification documents, to invoices, to code backups and JAR files.

I never figured out whether it was Sharepoint translating for different locales or people using Windows machines different languages, you'd get things like "My Documents", "Mes documents" "Τά Έγγραφα Μου" and "Eigene Dokumente" all mangled up together, which was a nightmare to navigate in, both in speed and understanding, so the this numeric-based naming was an attempt to put some order to that chaos.

tpaschalis··on Ask HN: Software for producing terminal-based tutorials?
Since you mentioned terminal-based tutorials, here's a terminal-based solution.

Most linux systems should include script [1] and scriptreplay[2], which should suit your needs. Here's a complete example of a recorded/replayed session[3].

On MacOS it should be as easy as `script -r <filename>` to record and `script -p <filename>` to replay. YMMV, but I like it for _small_ use-cases, as it puts simplicity and portability over features.

[1] http://man7.org/linux/man-pages/man1/script.1.html

[2] http://man7.org/linux/man-pages/man1/scriptreplay.1.html

[3] https://www.tecmint.com/record-and-replay-linux-terminal-ses...

tpaschalis··on Less is exponentially more (2012)
I think you're right regarding the verbosity, but I personally find this is outweighed by the fact that my code is 2x more likely to run correctly on the first try, and do what I expect it to.
tpaschalis··on Less is exponentially more (2012)
Of course it's a matter of preference and being the right tool for the right job! Personally after using Go to build a simple ray-tracer and having to do numerical computations with it, I would really think twice before doing it again.

Want to reverse an array? You can't just list.reverse() or list[::-1] like you'd do in Python. Want a simple lookup if a value exists? You can't ['a', 'b', 'c'].include? 'a' like you'd do in Ruby. Want to reach for low-level primitives? You'd have to delve into CGO territory, which is not always "elegant". Want different concurrent paradigms (eg. an actor model), well, maybe you're better off without it.

But it's up to you whether that kind of 'simplicity' is desirable or not.

tpaschalis··on Ask HN: Mind bending books to read and never be the same as before?
So many good suggestions here! I'll try adding two more

[1] "So Good They Can’t Ignore You" by Cal Newport. It changed the way I look at my career and how I view my personal development.

[2] ADP 6-22 Army Leadership and the Profession by the US Army. Looking past the militaristic stuff, it made me change the way I see leader/subordinate relationships and how to start becoming a person others can depend on and look up to.

[1] https://www.amazon.com/Good-They-Cant-Ignore-You/dp/14555091...

[2] https://www.amazon.com/Army-Doctrine-Publication-Leadership-...

tpaschalis··on Go Debugging with Delve, or No More Fmt.Printfs
I was initially on the same side. But setting things up is a simple `go get`, and when you want to dive into more complex scenarios, such as concurrency-related bugs, a debugger can save the day!

I'd urge you to give it a spin next time you come across a weird bug ^^

tpaschalis··on Go Debugging with Delve, or No More Fmt.Printfs
Yes, the project has gone a long way, as it's being used by what may be the two most prominent development environments for Go (VSCode and Jetbrains Goland).

GDB still has a lot of value if you're working with a non-amd64 architecture or want to dive into cgo parts of a codebase, but Delve is a great addition to your toolbelt!

tpaschalis··on Ask HN: What is your blog and why should I read it?
https://tpaschalis.github.io

Probably only worth it for reading specific posts such as how I'm using vim as an IDE [1], how database schemas and event sourcing are a great pair [2], or just my 'du-jour' weekend projects that end up in Show HN. I find having a blog invaluable for note-taking, personal growth and honing my writing skills; that's why there's no data tracking or comments built-in for now. But feel free to reach out, any advice will be appreciated!

[1] https://tpaschalis.github.io/vim-go-setup/

[2] https://tpaschalis.github.io/schemas-event-sourcing/

tpaschalis··on Ask HN: Any ideas for fun / bonding things to do via Zoom?
- Invite team members to show off their house/workplace or pets

- Order coffee/breakfast/donuts for each other, or have a secret-santa-like event

- Try taking coffee/lunch breaks together. It will help the team to vent and keep in rhythm. Banning all COVID-related topics is recommended!

- Try playing a game! There's a lot of options for playing board games and card games remotely; I recommend something like drawsaurus [1] it's a lot of fun.

Finally, have some empathy and patience with each other. For many people it's not just WFH, but a hard situation, having to worry about elderly relatives, take care of small children, and deal with stressing news all around them; let's foster a relaxed environment of positivity where everyone can perform their best [2]

[1] https://www.drawasaurus.org/ [2] https://twitter.com/chrisalbon/status/1239927980450697218/ph...

tpaschalis··on Ask HN: Any good book recommendations on distributed systems design?
Highly recommended as well. Kudos to Martin; not only is it excellently written and dense in information, each chapter has a fantastic reference section which can lead you to more interesting resources, papers and books.
tpaschalis··on I Don't Use Classes
An excellent article on type-driven design and development was posted on HN [1][2], as darkkindness put it "Encode invariants in your data, don't enforce invariants on your data"

[1] https://news.ycombinator.com/item?id=21476261 [2] https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-va...

tpaschalis··on Laravel 7
I've worked with Laravel in the past few months. Having never worked with PHP, I went from eew PHP?! to a delightful, fast-paced development model. It shows that good documentation and listening to your user-base will get an Open Source project really far.

It just gets even small things right, nice testing support, database migrations, request validations, events and broadcasting, you name it!

tpaschalis··on Amb
About last year, this [1] article on the Amb operator was featured in HN, so back then, I grabbed the Rosettacode Go example and wrote a blogpost[2], going through such an example. Feel free to check it out!

[1] http://www.randomhacks.net/2005/10/11/amb-operator/

[2] https://tpaschalis.github.io/golang-amb-operator/

tpaschalis··on How to Write Usefully
It's satisfying because it's also surprisingly hard!

Like Mark Twain once said "I didn't have time to write you a short letter, so I wrote you a long one."

tpaschalis··on Show HN: An API to encode and decode coordinates using Geohash
Thanks! Yes, HTTPS is not supported right now, as I'm experimenting with various caching/routing. Once I'm done toying around, it will be the default option.
tpaschalis··on Show HN: An API to encode and decode coordinates using Geohash
Also, if you are set on using a geocode system, geohashes and plus codes are open-source, public-domain algorithms, unlike w3w, to avoid issues like [1] which was being discussed on HN yesterday.

[1] https://justpaste.it/39hat

tpaschalis··on Show HN: An API to encode and decode coordinates using Geohash
I agree that it's something easy, with already-available libraries. Nevertheless, I hope some people would find it useful, and enable me and others to use it quickly and build something on top of geohash, instead of messing around to get the algorithm right.
tpaschalis··on Show HN: An API to encode and decode coordinates using Geohash
Sorry for the late response! I did reimplement it in Go, and I'm going to upload on Github once I'm done toying with deployment.

It was pretty straightforward and there are already a couple of dozen libraries out there, in any language you wish, to get some ideas!

Page 1 of 5Next →