HNHacker News
TopNewBestAskShowJobs

alxmdev

1,251 karma · joined October 10, 2013

submissionscomments
alxmdev··on How Referral Spam Like lifehacker.com Gets into Google Analytics
> Lifehacкer.com mimicked lifehacker.com with the only difference in Cyrillic letter ‘к’ instead of Latin ‘k’ used in the original traffic source. The substitution was obscure.

The Wikipedia article "IDN homograph attack" describes various ways in which web browsers and ICANN try to protect users against this sort of shenanigan: https://en.wikipedia.org/wiki/IDN_homograph_attack#Defending...

alxmdev··on GNU Guix and GuixSD 0.12.0 released
> In addition to standard package management features, Guix supports ... unprivileged package management, per-user profiles, ...

That sounds really cool. I wish I could install DEB packages just for my local user, without needing root access. I wanted this back at my university's computer lab, and I still want this on my own systems today.

These days a lot of people use personal single-user machines, so having it mandatory that packages be installed to the root file system is very restrictive. For example, I have a lot of DEB-packaged games from HumbleBundle, and it feels weird to need admin privileges to install them all across /usr/games, /usr/local/share and all that instead of just a place of my choosing under /home/me.

alxmdev··on Backpropagation is a leaky abstraction
I think there are intangible things that get lost when you watch someone else do something as opposed to doing it yourself. The exercise is about going through the mental motions of understanding the problem, designing a solution, and iterating on it until it's correct. The last part is all about learning from your own mistakes, seeing what specific things trip you up, so you know to improve on them. That's not something you can get by watching others.

I agree that there isn't enough time in a life to learn everything you'd want to first hand or from a low level of abstraction, but school should be a place to do as much of it as possible. Just my 2c.

alxmdev··on Backpropagation is a leaky abstraction
Questions like "Why do we have to write X, when framework Y does it for you?" are why I dislike the reinventing the wheel analogy, especially when it finds its way in education. There's no substitute for the deep understanding you get by solving a complex problem yourself from beginning to end. Students complaining about implementing a foundational algorithm instead of using a framework is depressing.

Not to mention that computer science and software engineering are such young fields that it seems unhealthy to take readily available abstractions as absolute givens. Everything stands to improve, even products and concepts that have been around for decades and that everyone uses.

alxmdev··on Arduboy – A game system the size of a credit card
Sure used Gameboys are cheaper, but the supply of usable ones will surely dwindle in the coming years as old hardware inevitably breaks down. It's good to see efforts to create new devices with personality that are fun to work with, not to mention being designed for homebrew software instead of relying on hacks and 3rd party carts.
alxmdev··on I made an iPhone game with PhoneGap and won't do it again
I took "assembly language layer" in the parent comment to mean the "lowest-level high-level language" commonly available on the platform.
alxmdev··on Raspberry Pi (2 and 3) support in Fedora 25 Beta
Excellent! I tried out Ubuntu MATE 16.04 on a Raspberry Pi 3 a few months ago, and I was pleasantly surprised by how well it runs. The 1GB RAM is an unfortunate limitation, but even so the Pi is a viable little desktop. Great to see upstream kernel support and official releases from major distros.
alxmdev··on 22nd Century C
Very cool! I wasn't aware of the cleanup attribute, can't wait to try it out:

The cleanup attribute runs a function when the variable goes out of scope. This attribute can only be applied to auto function scope variables; it may not be applied to parameters or variables with static storage duration. The function must take one parameter, a pointer to a type compatible with the variable. The return value of the function (if any) is ignored.

https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attribute...

alxmdev··on OpenBSD on HP Stream 7
Looks like Ubuntu 16.04 runs fine on it [1], you could turn it into a small personal server, put GitLab on it, whatever :-) I have a Raspberry Pi 3 with Ubuntu MATE sitting around and am likewise looking to put it to good use.

[1] http://h30434.www3.hp.com/t5/Windows/Linux-on-the-HP-Stream-...

alxmdev··on The Dropbox hack is real
How about using the password manager to store security question answers too? It's mildly inconvenient because each site seems to require at least three, but then you wouldn't risk forgetting them and you could use random generated strings instead of having to make them up.
alxmdev··on The End of Gmane?
One example that jumps to mind are all the documents and man pages hosted on die.net (http://linux.die.net/)
alxmdev··on Microsoft to Cut 2,850 More Jobs in Exit from Phone Business
Article says Android and iOS have 84% and 15% respectively of the market. It's still hard to sink in the fact of how strong a duopoly the mobile market is. All of WP, Blackberry, Ubuntu, Sailfish, Tizen, and probably more, all share the same 1%!
alxmdev··on How to Write Unmaintainable Code
I had the pleasure of dealing with C++ classes with a dozen or more gratuitously overloaded operators, including overloaded cast operators. You'd cast an object to a certain type in order to access a member of that type, instead of accessing that member in a normal way. I never doubted for a second that it was all done for job security, this stuff is real.
alxmdev··on What’s up with nano?
I fall in this category, I use neither Vim nor Emacs because I never had a need to learn them and I'm happy with lightweight GUI editors like Geany and Notepad++. Nano on the other hand was the default command line editor in the university computer lab, so I had to learn the basics to get around and still use it today.
alxmdev··on Neo Geo Programming Guide (1991) [pdf]
While 12MHz sounds weak, the heavy lifting was done by dedicated graphics hardware. Once you relieve the CPU from the burden of blitting, you're left with more than enough cycles for almost any sort of game. Even the GBA only had a 16MHz ARM! From Wikipedia:

"The SNK custom video chipset allows the system to draw sprites in vertical strips which are 16 pixels wide, and can be 16 to 512 pixels tall; it can draw up to 96 sprites per scanline for a total of 380 sprites on the screen at a time."

alxmdev··on Linus meltdown on a Git pull
We are still in the first century of software development, I doubt any code written today will be relevant by the time we enter the second. The computer science class of 2065 will enjoy seeing all these chaotic things we made, running in virtual machines hosted by museums that are yet to be built :-)
alxmdev··on Alex King, an original Wordpress developer, has died
I remember often ending up on his blog when looking up various Wordpress and web development topics back in the 2000s. The about page (http://alexking.org/about) on his website reveals an exciting and accomplished career, no doubt he would have kept doing ever greater things. Rest in peace!
alxmdev··on A Constructive Look at TempleOS
Long-term personal projects are the best things you can reward your developer mind with. The dedication and achievement in TempleOS is phenomenal.
alxmdev··on Pygame Zero, a zero-boilerplate game framework for education
Nice work! I like the idea of automatically loading resources from known locations so they're ready to use right away.

I got my taste for software development by starting with games programming, and finding a friendly environment that gave fast results was very important to stay motivated and continue learning. Back in the 2000s', that environment for me was Fenix (now known as BennuGD - http://www.bennugd.org/).

alxmdev··on Ask HN: What new skills are you learning?
Some basic music theory so I can write my own chiptunes :-)

Also planning to give Haxe a try one of these weekends, to see how pleasant it is for coding small browser games.

alxmdev··on MirageOS Pioneer Projects
Their website is still up: http://www.detachedsolutions.com/mirageos/

From the ticalc.org page, "Ranked as 2 on our all-time top downloads list with 1003409 downloads."

Over a million downloads over its lifetime, that's incredible. I never realized just how large the calculator homebrew scene was in its heyday.

alxmdev··on Show HN: Figure out when you closed your MacBook lid
I find the technology choice here very interesting, a desktop applet programmed with what I look at as mainly web technologies (JavaScript, JSON, Node, Webkit). It's impossible to ignore how the landscape has changed in the past 5 years and how web-style programming is slowly bleeding into spaces dominated by native applications.

When I first got into software development years ago with an eye for tools and games, I approached web programming as a stepping stone. I wonder what direction I would go if I were to start over today.

alxmdev··on Ask HN: Are you satisfied with the state of the Web? What should be different?
Most websites still don't behave well if I increase my browser's minimum font size to something I'm comfortable with, like 16 or 18pt. Entire or partial blocks of content will disappear, links will become unclickable, paragraphs will overlap. For all the efforts in the past decade for increasing accessibility, this very simple scenario is somehow still beyond reach.
alxmdev··on Xfce 4.12 released
I enjoyed Gnome 2 as well, back on Debian 5 and 6. Did you try MATE (http://mate-desktop.org/)? It's an active fork of Gnome 2.
alxmdev··on Templating in C
I see. I was thinking in the context of your second pastebin link and the evil_template.c snippet in the article, where the functions are actually generic (and in which case you can't avoid the function being declared as a macro unless you go the multiple-includes route).
alxmdev··on Templating in C
Yes, but that is now a worker function that handles every if(n == x) case explicitly in the body, not something you need the preprocessor for anymore. Nothing against it, but it is a different design.
alxmdev··on Templating in C
I prefer the single file solution too. I suppose it comes down to how much having escape markers on every line of the function implementation bothers you, and if your favorite code editor does full syntax highlighting in such a case.
alxmdev··on The Lost Art of C Structure Packing
Thanks for linking to that video, it was fun to watch. I've looked at the 90s' id games differently ever since I read Masters of Doom 10 years ago (due for a re-read soon) - learning their history made me appreciate those games on a whole new level. Their story was a very big inspiration and motivation boost for my own modest projects.
alxmdev··on The Untold Story of the Invention of the Game Cartridge
"In tandem with taped-on-screen plastic overlays and physical board and card game paraphernalia, the Odyssey could provide new gameplay experiences."

I'm too young to have played these 70s systems, but the quote above reminded me of LCD games I played in the 90s, where the digital world was given depth by printed color backgrounds. Now that I think about it, the games on those little handhelds probably came quite close to what you used to get on the Odyssey and Atari 2600 15 years earlier.

alxmdev··on Handmade Hero's new lessons about old-school game programming
"If everyone in the next generation of game developers decides to use a pre-fab engine, who will be left to make the new engines?"

Implementing low-level systems yourself is a valuable exercise for games as much as for any other software. You gain new appreciation for the things you took for granted, and pre-made abstractions become even more intuitive because you feel more in control of what's (probably) going on under the hood. One of my pet projects is implementing graphics primitives in software - you'd be surprised at the amount of tuning and iterations needed to make them fast, clear, and correct.

← PreviousPage 4 of 5Next →