HNHacker News
TopNewBestAskShowJobs

CodeMage

6,770 karma · joined February 26, 2009

submissionscomments
CodeMage··on Nim: Scripting Ease in a Compiled Language
Another perfectly fine example:

  auto * logger = Logger::getLogger("main");
CodeMage··on Calibre 4.0
No. I definitely wouldn't like to read a post with an attitude like the one espoused in the titled you proposed.

However, I would gladly read a post that reviews Calibre codebase in a helpful, friendly way.

CodeMage··on Ask HN: Who Wants to Be Fired?
I'm really sad to hear that. For the record, my case was in 2013.
CodeMage··on Ask HN: Who Wants to Be Fired?
Treating PIP as a pink slip is toxic. It might have become acceptable, but it's still toxic. I've only been placed on a PIP once and it's my go-to story for explaining what a PIP should really be.

I had just moved to United States with my wife and my 7-year old son. Since this was the second time I had moved from one country to another, I expected to be able to handle it reasonably well. Instead, I got seriously depressed by the absence of my friends and the cultural paradigm shift (i.e. the Seattle Freeze). I also had to deal with my family's emotional fallout -- both my wife and my kid got depressed and I was trying to help them as much as I could. On top of it all, I got an abscess and had to go to ER. As a result, my productivity dropped to zero.

The problem wasn't the productivity itself, but that I had mismanaged the situation. Instead of trying to talk these things over with my manager, I kept pushing myself, promising to deliver and failing to do so. It came to a point where my manager scheduled a 1-on-1 with me and told me he had no option but to put me on a PIP. He said he was extremely perplexed, because he had formed a completely different image of me during interviews and thought I would perform much better. During the 1-on-1, he kept prodding me to explain what was going on, until I broke down and explained the situation. He asked me why I hadn't told him any of that before. I explained that I had thought the American corporate culture was that you're expected to leave your baggage at the door and that nobody else should pick up your slack -- you're here to work, not to be babysat. He was appalled by the idea and explained that I should've talked to him and we could've organized things better. He reiterated that, because my lack of performance had percolated up the food chain, he had no option but to place me on a PIP; it wasn't merely up to him anymore. He explained that a PIP was a chance to prove that I really was capable of fitting my role and that if I met the PIP goals I would be in the clear, not just with his team and at that moment, but in the future too - managers aren't allowed to hold your PIP against you.

We then sat down and worked out a PIP. During the following 6 (or was it 8?) weeks, I met all the goals and that was that. After 2 years of working on that team, a much more exciting opportunity for internal transfer opened up, I applied for it and it worked out great. Nobody even mentioned my PIP.

In my opinion, that's how a PIP is supposed to work. For anyone interested, the company in question was Amazon. There are lots of things one might criticize about Amazon, but this is one thing they did absolutely right.

CodeMage··on Amazon Echo Loop
While I had one, I mostly used it for: 1) playing music that can be named in English (because fuck other languages, right?), 2) setting timers, 3) checking the time.

I find voice assistants to be of very limited use to me. Generally, I prefer typing, because it's just faster. When I find myself needing a voice assistant, it's because I'm: 1) not near enough a keyboard, and/or 2) using my hands for something else, namely cooking or driving. Back when I had Echo Dot, it wasn't really useful for cooking, other than setting timers. And, of course, I couldn't take it with me in my car. I don't know if they made it more useful in the last couple of years.

I think voice assistants could be extremely useful, but they're being hampered by their creators' ambition. Every single voice assistant I've seen is trying too hard to be "everything you'll ever need", so it could dominate the market.

I had hopes for Mycroft II, because it promised to be an open source solution on par with other voice assistants. It turned to be a typical Kickstarter horror story: overpromised and not yet delivered.

CodeMage··on Adblock Radio: An adblocker for live radio streams and podcasts
I listen to music on Spotify, I watch shows and movies on Netflix and Amazon Video. I buy my video games on GOG and Steam. I buy my books and read them on my Kindle.

What does that leave? I don't pay for YouTube, for example. Not that I care that much, because the stuff I watch on YouTube is mostly not the stuff I would miss. The stuff I would miss would probably be available even if YouTube didn't exist (e.g. Zero Punctuation).

Since we're talking about paying, here's another question: do I resort to piracy? Yes, because there are often good reasons to do so.

Movies and shows? Netflix and Amazon mostly don't have subtitles in Spanish, so when I wanna watch something with my wife, sometimes the only way is to download it.

Music? I'd love to be able to come to some agreement with Spotify that lets me save a number of songs a month or a year and let them be mine, so they'll never disappear from my playlist just because Spotify pulled them.

Books? Usually the first book I read from an author I haven't read before is a book I'll pirate. If it's good, I'll buy it and buy that author's subsequent books. We used to use libraries for that kind of stuff.

As you can see, most of those problems aren't solvable by ads.

Here's a question for you, though: do you think Wikipedia would be better off with ads?

CodeMage··on Adblock Radio: An adblocker for live radio streams and podcasts
Presenting ads and marketing as a line of defense from monopolies is disingenuous.
CodeMage··on Adblock Radio: An adblocker for live radio streams and podcasts
Why? First of all, why must there be a dichotomy here? Second, why must I give each site my credit card number directly? Why can't we do that differently?

The conventional wisdom is that ads are more convenient. I hope that, sooner or later, this will stop being true and we'll have a variety of better ways of supporting content.

CodeMage··on Adblock Radio: An adblocker for live radio streams and podcasts
Different folks, different strokes. I'm also adblocking and I started way before it became a privacy thing, because I don't. Want. Ads. In my content.
CodeMage··on WeWork’s Adam Neumann Steps Down as CEO
Yep. More people should read the Gervais Principle.
CodeMage··on A ‘Grass-Roots’ Campaign to Take Down Amazon Is Funded By Its Biggest Rivals
I would recommend "The Space Merchants" by Cyril Kornbluth and Frederik Pohl, and also the sequel, "The Merchants' War" by Frederik Pohl. They predate the cyberpunk era, but you'll find what you're looking for in them.
CodeMage··on Swiss Copyright Law: Downloading Stays Legal, No Site Blocking
An interesting subcategory of #1 is when you're trying to watch a legally available movie that doesn't have subtitles in your language of choice. Watching Netflix in United States? Some stuff might have Spanish subtitles, but most doesn't. Amazon is even worse.
CodeMage··on Compensation in 2019 – new grad tech offers
Thanks for clarifying that. It turns out I misunderstood the concept. I still think it's a good idea to mention it, because I find it all depressingly confusing and usually part of the fine print that rarely gets pointed out.
CodeMage··on Compensation in 2019 – new grad tech offers
One thing you might want to think of adding to this post is 401k vesting. As an immigrant, I wasn't aware of that and I was very unpleasantly surprised that it was possible to lose a substantial part of my retirement fund contributions, taken out of my salary, after quitting.
CodeMage··on Three Tribes of Programming (2017)
I like this. It's in the same vein as the blog post, but it addresses the only aspect I was truly uncomfortable with: the word "tribe" implies exclusivity, whereas I tend to think of myself and other devs as points in the triangle whose vertices are these tribes.
CodeMage··on Google’s GDPR Workaround
That's pretty much a false dichotomy: a site must either support itself via ads, or cease to exist.

There are other ways to get money to support your work, and if those ways are too painful right now, that's just an opportunity for disruption. Even better, it's an opportunity to prove that disruption doesn't have to be exploitative.

CodeMage··on How the Media Can Help Prevent Mass Shootings
https://en.wikipedia.org/wiki/Poe%27s_law
CodeMage··on How the Media Can Help Prevent Mass Shootings
Media don't make people smoke, people make that decision. However, it's a decision that's influenced by what's in the media, which is why media are making sure they don't glorify or even normalize smoking. I'm pretty sure you can follow that same logic when it comes to mass shootings.
CodeMage··on Sugar: Open-source software learning platform for children
I figured it out by accident, after a whole lot of frustration: click on the image itself and the carousel will pause.
CodeMage··on Big Tech’s ‘Innovations’ That Aren’t
I'm pretty sure the claim isn't that "big tech advances" bear the sole responsibility for teen suicide rates, but rather that they contribute to them in a substantial way.

The atrophy of real-world relationships he mentions is not something he made up, but rather a real problem. And I would be surprised if someone could prove that this problem doesn't contribute to teen suicide rates at all.

CodeMage··on Sugar: Open-source software learning platform for children
I'm not 100% sure, but I think this might be the first thing I've seen on HN front page, in all my time on this site, that actually motivated me to jump right into criticism. Usually I just stay quiet if I don't have anything positive to say.

First of all, before even clicking through, my reaction to the name was negative. To quote henrikberggren's comment: "Naming a learning platform 'Sugar' is like naming a rehab clinic 'Heroin'."

Second, those stick figures look like skull-and-crossbones.

Third, your sample "fun activity" looks less fun than anything a kid with a computer has access to.

Fourth, creating a new user in your Sugarizer demo is an awful experience. It asked me to pick a name first, then let me go through the rest of the steps -- including "choosing" a new avatar color by clicking to get random colors until I just gave up -- and then, at the end, told me the user "foo" already exists.

Fifth, I don't find the UI intuitive at all. When I'm inside an activity, if I want to go back to the activity selection page, I have to click on an octagon with a square inside it. No idea how I'm supposed to associate that with "home" or "back" or any of the verbs I could think of.

Lastly, I tried out a few of the activities and I have no idea how any of that is supposed to help kids learn or collaborate. The "clock" activity just displays a clock. That's it. The "tam tam" activity has a confusing UI, but once you overcome the confusion, you can just pick different instruments to hear their sound. The most confusing was the "maze" activity, because I pressed one arrow key and it solved the whole maze. Later I realized that it follows the path until a decision point and then waits for input, but it's really weird.

I appreciate that this must have taken substantial effort, but I have no idea just how this is supposed to be useful. And let's face it, I gave it more time than an average visitor probably would.

CodeMage··on Google just deleted my nearly 10-year-old free and open-source Android app
Is there really no other way to monetize except through ads? Sure, there needs to be more regulation in this space, I agree with that. But the idea that ads are the best monetization has never sat well with me.

I understand that it's convenient because you get money without asking your end users for it. But I've always thought of it as "if it seems too good to be true, then it probably isn't" and stories like yours just keep reinforcing that feeling.

And all that's without considering how ads degrade the user experience or help erode the privacy. Every time I have to browse the web without an adblocker, I get freshly shocked at how awful it is.

CodeMage··on Thank you, Chris
I still remember the old days of Altavista, Yahoo, Lycos and Infoseek, to name a few. I would usually have to try several and comb through their results to find what I wanted.

These days, I'm getting a sense of deja vu, because Google is slowly getting worse and DDG is slowly getting better. Most of the time, I'll get the desired result right away, regardless of the engine I use. But sometimes, I'll be surprised at how bad the results are on one and then I have to try the other. And although it's not happening very frequently, I have to do it more and more often.

I guess that's good, in a sense. Sure, it's nice when things just work and you don't have to think about them, but we've all seen that lack of competition is, in the long run, bad for the users.

CodeMage··on Gamedev Tutorial: Trigonometry Basics – Sine and Cosine
I understand where you're coming from. I'm often frustrated by how our industry allows software to be incredibly shoddy. But attracting kids to programming is not the same problem as making sure they grow into adults who do their job well.

Different ages have different priorities. The best way to attract kids to any activity, including programming, is to give them something fun to do. Let them make crappy stuff that's flashy and fun. If they choose to stick with it, teach them to do it well and help them unlearn the bad habits.

Incidentally, I consider bad habits to be incredibly important. Yeah, sure, you can read about how to program well, but it's not the same as having your own bad habit bite you in the ass and learning from it. It's even better if you learn bad habits and then unlearn them while you're still young and not when it might impact customers.

CodeMage··on Gamedev Tutorial: Trigonometry Basics – Sine and Cosine
Wow, that takes me back down the nostalgia lane! Denthor's tutorials, PCGPE, Ralf Brown's Interrupt List...
CodeMage··on Gamedev Tutorial: Trigonometry Basics – Sine and Cosine
Maybe it's not the schooling. I went through a similar experience, because I started programming when I was 7 years old. By the time I had learned enough to want to try to make a game, I had taught myself Turbo Pascal, but I still wasn't of an age to learn trigonometry in school.
CodeMage··on Bulk Data Structures C++
> This is precisely what vector::emplace() solves, and std::move should be faster than swap and pop.

The whole swap-and-pop section weirded me out. Maybe I just don't know enough about C++, but saying that assignment (a[i] = a[n-1]) will call the destructor seems false.

As far as I know, the compiler should generate an implicitly defined copy assignment operator for these fixed size PODs and it should be as performant as memcpy.

But again, I don't have years and years of in-depth C++ experience, so I would be grateful if an expert could shed more light on this.

CodeMage··on Colombia fines Uber more than $629k for obstructing regulatory visit
Same thing in Chile. Some drivers even make sure all the passengers agree on a story to tell the cops if they stop you.

Unlike Colombia, it's not dangerous for passengers -- at least the law-breaking aspect isn't. What's dangerous is how everyone drives. Also, it's a gamble whether you'll get a normal, sane driver, or someone weird or downright crazy. But that's not limited to Uber, you can get crazy cabbies too.

I think the worst experience I had there -- before Uber, this was a taxi driver -- was a guy who: 1) was speeding so much, regardless of potholes, I thought my teeth would fall out; 2) stopped to take a piss in the middle of the ride, without pausing the meter; 3) ended up confessing he wasn't sure where my address was, so I asked him to let me off a few blocks from my place.

Is there a moral to this story? Not really, I just thought I would share something funny ;)

CodeMage··on Linux Journal Ceases Publication: An Awkward Goodbye
You can see the same patterns in the society, in the erosion of workers' rights that our ancestors bought literally with their blood and suffering. It's the same force acting on all fronts.
CodeMage··on Want to hire the best programmers? Offer growth
> So yeah, I detest this sense of entitlement that programmers have, where they want to a) get paid a lot and b) have lots of free time on the side.

That mentality reminds me of the 2014 commercial for Cadillac ELR Coupe: https://www.youtube.com/watch?v=xNzXze5Yza8

It's not entitlement to want work-life balance and be paid well for your skills.

← PreviousPage 11 of 34Next →