HN user

gbl08ma

1,075 karma

Probably everything you want to know about me is here: https://gbl08ma.github.io/

[ my public key: https://keybase.io/gbl08ma; my proof: https://keybase.io/gbl08ma/sigs/IptL6B3YTB0jyItR6dM36ubj_vlkj4yiJ0ohX-QY0CE ]

Posts19
Comments123
View on HN
gbl08ma.com 5y ago

Time for a WTF MySQL Moment

gbl08ma
327pts114
gbl08ma.com 7y ago

Developing for Android is like being a demonetized YouTuber

gbl08ma
282pts115
dylankatz.com 9y ago

NTLM Hash Leaks: Microsoft's Ancient Design Flaw – Dylan Katz

gbl08ma
2pts0
goshify.tny.im 10y ago

Show HN: Goshify, store entire Markdown texts in URLs

gbl08ma
4pts3
gbl08ma.com 10y ago

Windows 10 is unfinished

gbl08ma
104pts111
news.ycombinator.com 10y ago

Ask HN: Website owners, how do you ensure abuse complaints are directed to you?

gbl08ma
4pts2
www.evilsocket.net 11y ago

Huawei Modems Authentication Bypass

gbl08ma
1pts0
gbl08ma.com 11y ago

A use for NT on ARM, after all

gbl08ma
1pts0
gbl08ma.com 11y ago

How Android’s “won’t fix” problem is the result of poor standardization

gbl08ma
3pts2
www.newyorker.com 12y ago

What Your Cell Phone Can't Tell the Police

gbl08ma
75pts31
www.webperformancetoday.com 12y ago

Has the average web page actually gotten smaller?

gbl08ma
37pts6
tny.im 12y ago

Show HN: tny.im – the full-featured shortener for URLs and more

gbl08ma
1pts3
www.youtube.com 12y ago

The Rapid Packing Container

gbl08ma
4pts0
tech2.in.com 12y ago

Winamp may not be killed by AOL today, after all

gbl08ma
1pts0
themisescircle.org 12y ago

The Problem with Altcoins

gbl08ma
70pts53
www.thedomains.com 12y ago

Not All ccTLD’s Are Created Equally In Generic Search Rankings

gbl08ma
1pts0
a-ads.com 12y ago

AnonymousAds — Ads that respect your privacy

gbl08ma
1pts0
gbl08ma.com 12y ago

Nokia OS history, fragmentation and other stuff

gbl08ma
1pts0
www.bunniestudios.com 13y ago

An analysis of irregular microSD cards (2010)

gbl08ma
2pts0

On non-jailbroken iOS devices the only way to install apps is through the App Store or through some convoluted methods which involve having a developer account (which you must pay yearly for), and I believe the % of jailbroken iOS devices is much much lower than the % of people willing to install Android APKs outside of Google Play, anyway. Sure, they _could_ do that for few people who have jailbroken iPhones, but doing that is pretty much like giving up on their iOS app altogether.

I had heard about this giant JSON from friends in the GTA V modding community. OP's idea of what it is used for is right. My guess is that this JSON was quite smaller when the game released and has been increasing in size as they add more and more items to sell in-game. Additionally, I speculate that most of the people with the knowledge to do this sort of profiling moved on to work on other Rockstar titles, and the "secondary team(s)" maintaining GTA Online throughout most of its lifespan either didn't notice the problem, since it's something that has become worse slowly over the years, or don't have enough bandwidth to focus on it and fix it.

It's also possible they are very aware of it and are saving up this improvement for the next iteration of GTA Online, running on a newer version of their game engine :)

Based on what I saw in past discussions, I'm pretty sure that the takedown was not a run-of-the-mill scraper-based takedown (it makes no sense to be taken down just for linking to videos which, at best, is what any scrapers would have seen in the original test code). It was very much an intentional, manual one with actual lawyers behind it.

MySQL not having a proper type to express time spans seems like a fault to me, and "poor design". Of course you can just use an integer for it, but that is a slippery slope, in the end you'll find that you can use strings or byte arrays for everything and you end up with no type system at all.

The surprise here is not that the type has limits but that they are so awkward and that there is no better strongly-typed alternative.

I, too, develop for Android and, like you say, we have the "luxury" of being able to do it on both Windows and Linux (and macOS as well, if I wanted). Even .NET development is more cross-platform than ever, with .NET Core. One of my points was precisely that developers were an exception in this regard, as our tooling is generally cross-platform. You can't say the same about people who do their work primarily using Adobe tools, for example. And even developers sometimes don't have this luxury: for example, if you do iOS development, to publish on the app store, at some point you must use a Mac to sign the app. Of course you can use stuff like Xamarin and use the Mac exclusively to sign, but this is often inconvenient compared to just using the officially endorsed stack. Overall, requiring a "traditional desktop operating system" to work is less and less the case for the general population.

The way I see it, "desktop-dependent workflows" overlap more and more with those "Windows-dependent workflows". Nowadays, most people don't need more than a web browser, and in that sense they do just fine with a tablet or phone (where iOS and Android dominate, and GNU/Linux is not really a viable option, at least not yet), or a Chromebook (yes, it's Linux, but it's mainly just Chrome).

Most people I know with a legitimate use for a desktop also have legitimate reasons to use Windows or macOS: gaming on Windows, content creation on Windows or macOS (graphics designing, video editing, ...), and MS Office lock-in. The only exception I can think of are developers, but even then, depending on the kind of development one is doing, using Windows or macOS may be the only choice.

I agree with you on the clipboard thing, but as with every other API that gives access to sensitive information, they could have put it behind a permission prompt. It wouldn't make the situation worse than it is now, and wouldn't annoy users and developers nearly as much.

You might be pleased or displeased to know that at Técnico they no longer teach Scheme in the introductory programming course, nowadays it's Python. When I did the AI course, the project was still to be developed in Lisp, but more recently I recall hearing that they were thinking of switching to another language because "nobody can stand lisp". Fun fact: one of the founders of Siscog, Ernesto Morgado[1], is big in the rice business, and is/was the president of multiple rice millers associations. Both Pavão Martins and Ernesto Morgado still lecture at Técnico.

[1] https://en.wikipedia.org/wiki/Ernesto_Morgado

I have a bit of a obsession with the Lisbon Metro, even though I don't use it very often. I started by building this:

https://github.com/gbl08ma/disturbancesmlx

This started as more of a statistics page for the service interruptions published by the Metro on their website, which I scrape. The slight tongue-in-cheekiness of my website, which opens up with a large text saying something like "XX days since the last disturbance", where XX is usually a single-digit number, made it become mildly popular (at least in terms of what I'm used to).

This particular subway system doesn't operate on a fixed schedule and doesn't show the ETA for the next train outside of the platforms nor on any app or website. (Google thinks there's a schedule, but they've been fooled.) They also don't publish usage stats for each station, which would be of great interest to everyone who likes daydreaming of expansions, network reorganization and the like. Furthermore, I read and heard multiple reports of delays and interruptions that never made their way to the website. So I decided to build a Android app to unobtrusively crowd-source data and communicate the service status back to the users...

https://github.com/gbl08ma/underlx

...and the very ambitious goal is to, one day, be able to calculate train positions and ETAs based on real-time data reported by the smartphones of people riding the subway. Pretty much "Waze for the Lisbon Metro".

Yeah, I've put months of work into this and there's absolutely no business plan; it perpetually feels 5% complete. But it's been fun putting together my second Android app, playing around with Postgres (after many years using MySQL), designing the REST API and writing the server in Go. I plan to use this big project as my sandbox for experimenting with machine learning and other AI techniques, as well as data analytics and visualization. There's already a small but extremely interested group of users, which really motivates me to keep working on this.

New Surface Pro 9 years ago

I own a Surface Pro 3 with the SP4 type cover (i.e. the version before the one that just came out and which is basically the same). I thought I'd miss all the keys from my laptop and desktop keyboards. Turns out, there are lots of hidden shortcuts. I got used to doing Fn+Arrows for Home/End/PageUp/PageDown and now I wish I could use that on other keyboards too. To me it's easier than having to reach for those keys when they are to the right or to the top of the keyboard, so much that I think I type a bit faster on the type cover, as long as I'm properly seated and the keyboard is on a solid surface (e.g. a desk).

I find the keyboard very good (the right menu key is a bit useless, but you can remap that using many methods) and the touchpad is the best I've used too, although it's probably not as good as the ones in Macbooks.

If the keyboard is the only thing holding you back, rethink it. You should be more worried about the price and the kickstand which is not a problem for me but might be for you, especially if your legs are short and you intend on using it on your lap a lot.

right now

NN, as I understand it, is not so much about the current state of things, but about making sure that future "wikipedias" and "facebooks" get the same chances as the current ones. Right now there are no viable alternatives (that you and I know of, at least) - but what about this time next year?

You can't change what NN means on a whim, to account for whether each specific type of internet service has "viable alternatives" or not. And how do you even define what are viable alternatives? What's viable for me, might not be viable for others.

You kid, but as much as I like Wikimedia (and as much as I would like to access Wikipedia free of mobile data charges), I think this objectively makes it harder for projects in the same field to compete, even if just a tiny bit.

I like to think I'm a net neutrality supporter, but when my mobile plan included unlimited data for the carrier's own music streaming service, I started using it and the unlimited data came in really handy. I used other streaming services much less because of that; Spotify, for example, didn't stand a chance of seeing my money.

I guess you can't have your cake and eat it too...

I use WSL inside Cmder/Conemu. It's probably not as good as a "true" Linux terminal, but I found it to be better than using the Windows console (which to be honest, became much better in Windows 10, but still not enough). With Cmder, at least I can have tabs...

Yes, I scrolled until the end only to find out its only available in app form. I wanted to play around with it, but this made me give up. I'm not going to install an app (worse: I'll have to free some space on my phone to do it) just to play around with it for one minute and uninstall it (to get back that storage space).

I know that when the color heads on my printers are obstructed, black text will often come washed out (as if you printed in economy mode, or worse). I have looked at black text, printed with my newer Epson, with a magnifying glass, and I can see a few color dots near the edges of the text (these are not photocopies, it's text documents printed in B&W mode). I suppose it works a bit like anti-aliasing in some font rendering systems.

I'm not sure how B&W inkjet printers solve it, but it's probably by spending more ink to avoid the wash-out. As other people pointed out, some color printers allow for printing with just the black cartridge in. I don't have one of these to compare, so it's possible the text doesn't look as crisp on these because of the lack of "anti-aliasing".

I suppose part of the reason for this limitation to apply to some printers but not others has to do with the business model (ink is expensive and for some brands/model lines it's the main source of revenue), and perhaps the technology used - some printers have disposable headers on the cartridges themselves, and others (like the printers I own) have non-disposable headers, which basically means the printer is ruined if ink dries up in the headers. This may be why some printers require the cartridges, even if empty, to be in, so the headers are not as exposed to the air.

Unfortunately manufacturers don't like to give extensive explanations (see my business model point above...), but on user forum threads like [0] and [1] there are some suggestions for why things are the way they are.

[0] http://www.tomshardware.co.uk/forum/224699-28-print-black-co... [1] http://superuser.com/questions/409473/how-to-print-in-black-...

Most printers do - at least that's what I found out after I realized both of my Epson printers wouldn't print in black without color cartridges. Color cartridges are still used when printing in black and white, because the black ink alone will look terrible. Granted, it would be better if printers offered an option to print with just the black ink and get the terrible result, for emergencies. However, I'm sure lots of people would just click the warnings/confirmations away and then complain about the bad quality of the results.

I should mention that if you do mostly black and white printing it may be more economical to get a laser printer, even just a grayscale one.

Thanks, I didn't know about mail-tester.com and similar tools. I am definitely not spamming people, and I had SPF, DKIM and reverse DNS set up, but I don't think I ever did the blocklists part. Something to keep in mind if my projects ever grow too big to fit in the free tiers of Mailgun and similar services.

Indeed, that works, thank you :) I had previously tried "vscode" and other variations, but it appears the executable name is the super-generic Code.exe. There's still the problem of VS Code opening when I wanted VS, but for this case I'll try to use "devenv" instead.

I used to send emails from my own servers, with everything configured according to the best practices, as much as I could. This was for account management emails: things like verifying user accounts, resetting passwords, etc.

It seems my emails were getting into spam boxes or outright rejected over 50% of the time, which obviously was driving users away. Mails would sometimes be classified as spam on my own Gmail, even after telling it multiple times to not mark those emails as spam. So I switched to Mailgun, and things have been much more peaceful - sometimes emails take a while to arrive, but I don't remember the last time anyone said it was in spam. It was not about the email content, as the content didn't change...

What's your experience with this? I suppose some domains/TLDs and certain IP address ranges are more prone to be classified as spam than others, and that's why I prefer using an external service: hopefully these guys can control their infrastructure in ways I can't do with mine. But I'm also a supporter of Internet decentralization, and email is one of those things that in principle is easily decentralized...