HNHacker News
TopNewBestAskShowJobs

gordaco

1,599 karma · joined November 23, 2012

submissionscomments
gordaco··on Non-Consensual Personalization
This is exactly what Youtube does.
gordaco··on Why static languages suffer from complexity
I'm glad to see someone else that finds Python unreadable. I keep seeing people saying that it's one of the most readable languages out there, and each time I feel like I'm from another planet.
gordaco··on Why static languages suffer from complexity
I was a mild advocate of static type systems. Then I spent about two years working on dynamic languages, mostly Python, on two jobs with otherwise very different code bases. I am now fully converted: after that experience, I strongly, strongly, strongly advocate static typing, so much that I will leave any job that requires me to use languages that lack them. I don't know if I was just unlucky, but I found that experience to be dreadful. Aside from the million small friction points, I remember things like needing to allocate a full week for a refactor that would have taken less than one hour (and that's a pessimistic estimate) with the standard tools of a static language's IDE.

I really don't see the advantages of dynamic languages. Supposedly you develop faster, but in my experience that's absolutely not true.

gordaco··on Ask HN: Should I accept the free Windows 11 upgrade?
I can't talk about others, but for me, the number one reason is the UI. If I could be 100% sure that updating to a newer version would keep my UI just the way I know it, and that no workflow is going to be broken, I would probably update as soon as possible. I still do that with a lot of other software. On the contrary, Windows is very fond of changing everything whenever they can, and it becomes tiresome fast. For example, several versions ago (it started with Vista, I think), someone decided that updating the file association info and the commands associated with each file type could no longer be accessed from the file explorer. Instead, you need to access the registry. Cue the myriad of different small tools, each with a slightly different and possibly incomplete behaviour.

It's very telling that extensions like OpenShell and 7+ Taskbar Tweaker are so common. Also, I'm still salty at the removal of the Windows Classic theme and of the detailed. I use WindowBlinds as a patch of sorts, but there is still a lot of customisation missing. Customisation that used to be available in older Windows.

gordaco··on Ask HN: Which games do you recommend to improve thinking and reasoning?
Also Killer Sudoku and Kenken for the more arithmetically inclined.

https://www.killersudokuonline.com/

https://www.kenkenpuzzle.com/

gordaco··on Ask HN: Which games do you recommend to improve thinking and reasoning?
I like HexCells Infinite for the huge amount of content from procedurally generated puzzles, but I love Tametsi for the incredible difficulty.
gordaco··on Ask HN: Which games do you recommend to improve thinking and reasoning?
I don't know if this is the kind of answer you want, but to this day I swear that playing Kula World (also known as Roll Away in the US, I think) made me smarter. It requires spatial reasoning, which maybe isn't what you're looking for. The game starts being ridiculously simple, but the difficulty ramps up fast, and it forces you to think carefully about your movements. And since the scenarios are de facto discrete, you don't need to be mindful about precision, just focus on the logic of the puzzles themselves.
gordaco··on I can read C++ and Java but I can’t read Smalltalk (2000) [pdf]
Agree 100%, and in fact I'm happy to see that someone shares my opinion on this. It's so clear. To me, it's the best beginner language out there, and I'm kind of sad that it learned programming with other tools, and only a few years later I discovered Pascal.
gordaco··on YouTube-dl's first release since June 2021
Ha, just a couple weeks ago I wrote a small GUI frontend for youtube-dl, to download a video with chapters and create a different .mp3 or .mp4 file per chapter (useful for music compilations). I created it with the express goal of using it with Open With. It's a very useful extension, and I've used it with youtube-dl for ages.
gordaco··on Rockstar: a language for programs that are also hair metal power ballads
Nice to see people rediscovering this language from time to time. I wrote an interpreter for an early version several years ago, just for fun. Possibly my favourite esoteric language. I particularly love the philosophy of "if you write even a single line of Rockstar, then you can consider yourself a full-fledged Rockstar programmer" (I'm paraphrasing, but I remember something like that in some official documentation).
gordaco··on Ask HN: Why is everything changing too fast?
I'm also very tired of the increasing rate of change. I know a lot of people here will be familiar with the Red Queen Hypothesis [0]; although the term initially comes from evolutionary biology, I think it's applicable in any situation where there is a lot of competition. And then most if not all the tech companies, which are aware of this effect even if they don't give it a name, are constantly trying to "innovate" and find the New Hot Thing before the competition does. And this makes said companies try to go faster than they would go if they weren't so afraid.

I don't know if it's just me, but I'm seeing a lot of urge to change everything even in more conservative big enterprises, which used to be the safe space of sorts for people who wanted to build products in stable technologies, maybe not so hot but still really solid and well-functioning. I can understand if enterprise desktop applications are seen as obsolete and everything has to be web now (to me it still sucks, though, both as a developer and as a user. I assume I'm obsolete as well), but since a few years ago, now everything has to be Everything as a service, and machine learning must be shoehorned in some way, no matter whether it's well suited to the problem at hand or not. It's being so bad that higher management starts demanding rewrites of 100K-1MLOC applications in new languages, with every component of the full stack being new, because trusted technologies are apparently not evolving fast enough.

As I've said above, I assume that I'm just obsolete. But I'm pissed off at the current state of the industry, not only because I have to switch jobs for my mental stability, but also because I used to be at least partially in sync with many aspects of the industry, but that has stopped in the last 5 years or so. I don't see myself being a developer for too long... it's too much bullshit and I have non-software skills that I can put to good use in a job that doesn't make me insane, even if the pay is lower.

[0] https://en.wikipedia.org/wiki/Red_Queen_hypothesis

gordaco··on Should Windows Transition to Linux?
For a LOT of us, at least in certain circles of power users, this is the only thing tying us to Windows. I have a fuckton of software that I know almost for sure that will run under the newest Windows... in Linux, yeah, maybe Wine likes it, or maye I'm out of luck.

For some of this software there are reasonable alternatives (emulators, for example. I care about the ROMs, and they are not tied to any operating system). Others, not so much (like my Winamp with 20+ input plugins, some of which can play audio files that I haven't found how to play in Linux, at least using a single player for all the formats). Admittedly, Windows' bullshit is making it harder and harder to justify compliance. I assume that at some time in the future I will finally switch and eschew all the bullshit of aggressively anti-user behaviour (ads, forced updates, changes in UI or in the default applications because of said forced updates, and so on) that Windows seems to love since 8 or so.

I know I'm not alone. If Windows gets rid of all this compatibility, there is no fucking way that users are going to accept it. Let Windows be Windows and Linux be Linux.

gordaco··on A new way to make quadratic equations easy (2019)
"An interesting question is why nobody has stumbled across and widely shared this method before"

Hmmmm... I "discovered" this method when I was like 14, but I didn't think it was a big deal, since it was equivalent to the standard formula. I'm very sure that I'm not among the first million people who "discovered" this on their own. Also, while this allows some quick calculations in your head (the example equation, x^2-2x+4=0, is certainly faster to do with this method than with the standard formula), for more complicated equations it loses it appeal very quickly, especially if the main coefficient is greater than one (think of something like 3x^2+2x+1=0, which is still not very complicated, and you will realise the usefulness of the standard formula).

As someone who has loved math since forever and who has discovered a million of "neat tricks" like this one (mostly useless, though), I've sometimes wondered whether some of them could actually be useful. Over the years it has become clear that all the "neat tricks" that are actually neat and useful are indeed widely shared everywhere, while the not so neat remain obscure despite being relatively easy to be discovered, because they don't have much application. And people like me who are willing to spend the time rediscover them again and again, only to discard them because they aren't a big deal.

An example of an actually good trick: I was so proud of my novel algorithm to find the gcd of two numbers when I was in high school... then, in my first year at the university, I learned that it was called "Euclid's algorithm" and, as the name implies, it was pretty old :) .

gordaco··on Advent of Code 2021
Yes, this is the way I do it as well. There were quite a few cases where I went all in with an apparently overengineered solution, and then I could use the code directly for the second problem with almost no changes.

I don't go for being the fastest or anything, I just want to do everything in a way that I like. Last year I did everything on the same day it got out; I plan to do the same this one, unless there is a particularly bullshitty problem that puts me off.

gordaco··on Where is Ruby Headed in 2021?
This is my experience as well. Working with dynamic languages soured my experience with programming so far that I stopped doing projects of my own when I was in jobs requiring them. Sounds like hyperbole, but it's something I didn't realise until several years later, after having recovered the joy of programming (which happened because I moved jobs and started using a static language again).

I guess that in part it's a matter of mentality or personal style (I know that I think mostly in terms of guarantees, invariants and so on, which is why types are so useful to me; I feel like other people think more in terms of operations when they program, and maybe dynamic programming suits them more). But there are some huge advantages as well. The tooling is far better (like the incremental compilation in Eclipse, also available in IntelliJ but turned off by default IIRC, which highlights compilation error while you are still writing the code); there are fewer unit tests required because there are fewer things that can go wrong, since a lot of them can be enforced by the type system; most important of all, reading someone else's code is far easier because mandatory documentation, in the form of type names, is all over the place (yep, not a fan of type inference either). And there are more and more advantages.

I just don't see myself working on even a moderately sized code base in a dynamic language. The pain is too real; I have been there.

gordaco··on People prefer friendliness, trustworthiness in teammates over skill competency
Not that these two things are opposed to each other, you know. We should try to achieve both, at least to a reasonable level. At the very least, it's much better to have both qualities in a reasonable amount than to be excellent in one and completely lack the other.

I've found that there is a sweet spot in the middle of both competencies, where you can teach the least experienced members of the team and people appreciate you for that. It's something that must not be overdone, but there are plenty of opportunities (like, say, during code reviews), and in my experience most people appreciate it as long as the explanations are brief and clear. Think something like "doing things this way can be problematic, because of X and Y. I recommend using this alternate structure, which doesn't have these problems, although it still has the minor inconvenience of Z".

gordaco··on Dos-like: Engine for making things with a MS-DOS feel, but for modern platforms
I absolutely do. I'm 100% aware that it's the nostalgia talking, but I don't care, I unapologetically love them.

For context, the first computer we got at home was a PC at some point in '94 or '95. We had MS-DOS 6.22 and Windows 3.11. Some years later we moved into Windows 95. While I didn't really use these kind of GUIs (DOSShell and so on) as often as I would like, I always thought they were very pleasant to use. There is something about that DOS font that makes me happy each time I see it, and there is a certain feeling of being a stereotypical movie-style hacker when you use these instead of modern, actually graphical UIs. And yes, the reminiscence of simpler times with simple software, way before the surveillance capitalism and the brutal omnipresence of ads, is easy to appreciate.

The nice thing is that early versions of Windows supported these GUIs as well. So, a few years later, during my degree in Computer Engineering, I learned some x86 assembly (using Turbo Assembler as a compiler); this was during the early 00s, and we still used EDIT.com as the main text editor, although there were some others available. I loved it since the first day, both in concept (super low level programming with direct access to the hardware, managing interruptions and so on) and in execution (everything was in that text mode I loved, since modern Windows and their restrictions didn't play nicely with such low-level programming). I learned a lot from Ralf Brown's Interrup.lst, and wrote a few simple GUIs of my own, using box drawing characters and all that. Aside from those I wrote for academic work, I mostly spent a lot of time creating a silly GUI that allowed you to modify the look of the console. There were a few resolutions available, from 40x25 to 132x60, and you could change the colours of the text, the background and the border (yes, there is a border, which you can set to a different colour than the background. And my program could get 2^18=262144 colours available, not just 16! Although 16 was the max simultaneous on-screen limit IIRC), plus the font (I was able to add an edition screen where you could see the aspect of all 256 characters, yet I could use box drawing and so on for the interface in this screen. Did you know that DOS allowed two different sets of characters in screen at the same time?). There were some other additions like pixel-level scroll as opposed to the usual line-level scroll, and background "music" using the PC speaker. It didn't have any practical purpose aside from these silly customisations (which, in the case of Windows, went away when you closed the windows, and some times, also when you moved from full screen to a window), but man, did I have fun coding it. It's still one of my best memories of programming, nearly 15 years later.

Then, in 2009, my last Windows 98-capable computer stopped working, and current hardware only supported Windows XP and newer, so all of this fun basically stopped being possible (especially considering that basically all state of the art hardware was already 64 bits, and 16-bit applications like EDIT.com weren't supported any more). With emulators it's not the same, because I know I'm not really accessing the low-level hardware registers. By that time I already had a job and there was less time for this kind of hobbies, so I eventually stopped. Currently my recreational programming is mostly oriented towards math (Project Euler and so on), which is very different, but I still remember those days very fondly. I still have all that code somewhere.

Yeah, it's all nostalgia, but that doesn't mean it doesn't hit hard.

gordaco··on How I cut GTA Online loading times by 70%
Ha, this is one of the reasons why I also include outlandish and wrong-looking stuff in unit tests. If we see where it doesn't belong, then we know for sure that we are doing something wrong.

Most often I use unicode strings in unexpected alphabets (i.e. from languages that are not supported by our application and that are not used by the mother tongue of any developer from our team). This includes Chinese, Malayalam, Arabic and a few more. There was a time when I wanted to test the "wrong data" cases for some deserialising function, and I was part annoyed and part amusingly surprised to discover that doing Integer.parseInt("٤٣٠٤٦٧٢١") in Java does parse the arabic digits correctly even without specifying any locale.

gordaco··on Dev-C++ Is a Low Memory Windows Native C++ IDE Built in Delphi
Wow, Dev-C++. Not the very first IDE I used (that would be Div2), but at least the very first IDE I needed to use for academical reasons, back in 2001. This is the IDE where I started committing serious mistakes, i.e. the ones that make a lightbulb turn on when you finally solve them.
gordaco··on Ask HN: Why is making a good recommendation system for YouTube hard?
Yes, this is the real answer. What you want to watch, or what you would like youtube to recommend to you, is at odds with what youtube would like you to watch (and potentially share), which is enraging, clickbaity, low quality material.

As a n=1 data point I'd like to add that I watch youtube mostly for music, and it that sense the algorithm is not so bad (since there isn't much room for "viral" clickbait), and my only complaint is that it usually shows me the same videos over and over, but it still shows me related videos that I usually like. Whenever I commit the mistake of clicking on a non-music video, my recommendations get polluted for something between one day and one week.

I never log in, so if for some reason my cookies get deleted or corrupted I suddenly get a fuckton of shit with celebrities, "outrageous" political opinions and so on. The recommendations don't get back to normal until at least 3 or 4 weeks. This has happened 2 or 3 times, and it's so infuriating that I wonder if youtube does it on purpose to nudge me into logging in and have a view history associated to my account.

gordaco··on Guido van Rossum joins Microsoft
This is surely anecdotic and very subjective, but I have (in Java and in C++; IIRC the exact versions were Java 7 and C++03), and the level of pain was lower than with a Python code base that was about one order of magnitude smaller. In the case of C++, the pain was mostly asociated with an ancient build system we used; the code itself was relatively manageable. There was almost zero template code, and maybe that helped (although in other occasions I've worked with smaller C++03 codebases that relied heavily on templates and I didn't find them that bad).

Not all codebases are equal and maybe I was lucky, but in my experience, using dynamic languages (or, to be exact, any language where the compiler doesn't nag you when there is a potential problem) doesn't scale well.

gordaco··on Winamp for Windows 10
Wait, winamp didn't work on Windows 10? Why is that? I've been using it -version 2.91- in Windows 7 without problems (in fact I'm currently listening to it right now). I thought that it was solidly programmed and that it could work with any Windows as long as the underlying OS API was compatible. Is that not the case?

EDIT: Ok, after reading the comments, it seems that Winamp does indeed work in W10. So I guess that this "update" is not really necessary and this is just PR. I understand the reasons, but personally I've never felt the need to update.

gordaco··on YouTube-dl has received a DMCA takedown from RIAA
This happens in Spain as well. About how did it pass, I assume it's because lobbying.
gordaco··on Show HN: Hexagonal Minesweeper with multiplayer, geographic maps, zoom and pan
Very nice. Earlier this year I was hooked to this game, another variation on hexagonal minesweeper: https://store.steampowered.com/app/304410/Hexcells_Infinite/ .
gordaco··on New study suggests handwriting engages the brain more than typing
I guess that it varies from person to person. To me, writing definitely makes me remember better and more clearly whatever I write. There is something deliberate, something about the additional time that it takes to write as opposed to type, that somehow cements the material much better. Even the associations that I'm running in my mind at the time seem to be easier to remember, weeks later.

When I'm studying anything, I've found time after time that writing a summary of the lesson is one of the best ways to remember everything afterwards. Usually I don't even read it afterwards, since the benefit comes from the writing process. YMMV.

gordaco··on Luna – Cloud gaming service
I hate this as well. This is not just software: it's becoming increasingly difficult to acquire DRM-free digital goods (i.e. products that I can guarantee I will be able to use in 10-15 years), and in some cases, video in particular, I don't think that there has ever been a marketplace where I could legally buy DRM-free products (there are niche sites, of course, but I mean a generic store, like a bandcamp for movies). Music is an exception, fortunately. For now.

SaaS, and streaming in general, is very much anti-consumer, especially for those of us who value reliability over quantity. It's sad, but in most cases piracy really is the most pro-consumer option, even without considering the price (although in my case I usually just don't bother and go for other forms of entertainment).

The next generation of consoles already seems to include two versions, one with support for discs and another one (cheaper, of course) which is digital only. I'm tempted to rant about how this is a ploy to incentivise people to eschew physical games and go digital only, but I would be fooling myself, since physical games are also DRM-riddled and they might just stop working if some software update so decides.

gordaco··on The Obsolescence of Advertising in the Information Age (2018) [pdf]
You are not alone. I'm also like this. Ads are horrible both in concept and in execution; their existence causes all kind of troubling incentives (for example: all those discussions about youtube radicalising young people because their algorithm prioritises polarising content? Remove the incentive to increase engagement at all costs, which is caused first and foremost by advertising, and the problem it's gone); and the worse of it is that we know there are a lot of very smart people out there, with a good grasp of how a human mind works, whose job is to insert tricks into advertising to manipulate you (by the way, this is not just about dark patterns, which is another can of worms of its own, but about neuromarketing and similar concepts). And then there are astroturfing campaings, which by design are even more dishonest than standard advertising.

I really, really despise advertising. It can't disappear soon enough.

To make this comment a bit less ranty, I'd like to add something: some people believe that ads don't work on them. I very much disagree. Ads DO work. That's exactly why I don't want anywhere near me.

gordaco··on Why do so many people want us back in the office?
Exactly. As I said, I'm comfortable working from home and I see the advantages, it's just that the commute happens to be one of the pre-pandemic things that I miss. It's definitely something subjective, and in fact I would say that the trend of increasing remote work is generally beneficial.
gordaco··on Why do so many people want us back in the office?
It's just not the same... but I sometimes have fantasised a bit about doing it (and other variants, like taking trains).

Anyway I'd rather not use public transport right now. I don't think it's safe.

gordaco··on Why do so many people want us back in the office?
Yeah, I agree. I miss my old routine too. I even have a dedicated office of sorts, and working from home is comfortable and convenient to me. But... I miss the commute. The bus I used to take wasn't particularly uncrowded, but I always managed to get a seat (thanks to having a particularly early schedule) and I used to take the opportunity to read (since each trip took about 40-45 minutes, that's about 1h30m of reading a day), and from time to time I would just put my book down and look at the window, which I always found relaxing even if it's the very same trip everyday. These trips, especially the one in the morning, were about the most quiet moments of my day (although headphones are a necessity, for sure). Reading at home is just not the same, after so many years of having that schedule.

On the other hand, I don't particularly miss the office. Sure, it's nice to have breakfast with my workmates from time to time, but I can live without it.

← PreviousPage 2 of 13Next →