HNHacker News
TopNewBestAskShowJobs

phoboslab

5,828 karma · joined February 16, 2010

X: https://x.com/phoboslab

Blog: https://phoboslab.org/

submissionscomments
phoboslab··on How Many Computers Are in Your Computer?
Oh, so the physical size on the die, not the size in bytes. That makes sense!
phoboslab··on How Many Computers Are in Your Computer?
> Each of the 2-8 main CPU cores (...) has its own private cache (bigger than most computers’ RAM up to even recently)

That sounds odd. I take it the author is not talking about the L1, L2 L3 caches, as they are typically only a few MB in size? So what is meant by this statement?

phoboslab··on New Lower-Cost, AMD-Powered M5a and R5a EC2 Instances
Just a friendly reminder that AWS pricing is still insanely high compared to dedicated bare metal servers. On AWS you'd pay around $1500/mo for 24 cores ("m5a.12xlarge")[1] while e.g. Hetzner offers a 24 core AMD bare metal server for $190/mo[2].

Also consider that on AWS you pay for traffic on top of that; prices for which is even more insane. 100TB, while free with Hetzner, would cost you somewhere around $9000 on AWS.

[1] https://aws.amazon.com/ec2/pricing/on-demand/

[2] https://www.hetzner.de/dedicated-rootserver/matrix-ax

phoboslab··on The Making of Underrun – A WebGL Shooter in 13kb of JavaScript
Should be fixed with https://github.com/phoboslab/underrun/commit/2477c5a45f5be4d...

Rolling back X and Z when any collision occurs would prevent you from "hugging" (i.e. sliding along) walls. The problem was that a near corner collision wasn't correctly detected when the player didn't collide in X direction in the last frame (last_x) but does collide in the current frame (t.x), allowing the player to move into the corner in Y direction.

Thanks!

phoboslab··on Impact – HTML5 Game Engine
It only worked because the Impact community had people like you. Thank you so much <3
phoboslab··on How we built Hamiltix.net for less than $1 a month on AWS
> Bandwidth at AWS costs about 50 times as much as with Hetzner for example.

It's actually closer to 70x

Hetzner: 1.25 USD per TB (after 30 TB free per server) [1]

AWS: 90 USD per TB [2]

So, 100 TB at Hetzner will cost you 125 USD (not counting the 30 TB free). You would pay 9000 USD at AWS.

[1] https://wiki.hetzner.de/index.php/Traffic/en

[2] https://aws.amazon.com/ec2/pricing/on-demand/

phoboslab··on Show HN: Simple and efficient way to show information about Memcache
I just tried it, but it simply hangs on connect. After ctrl+c it quits with "Connect to 127.0.0.1:11211 failed.".

Doing `echo "stats" | nc 127.0.0.1 11211` on the console returns the current memcached stats (and keeps the connection open). So I think I have the correct host/port :)

Edit: I think I found the issue: https://github.com/hyperia-sk/memcache-info/issues/1

phoboslab··on Show HN: JavaScript image compressor
The result is dependent on your Browser. This library uses the Browser's native `ctx.toDataURL('image/jpeg', quality)` method to re-encode the image. The actual compression algorithm is not implemented in JavaScript.
phoboslab··on Show HN: JavaScript image compressor
As I understand it, this library draws the image into a Canvas to then re-compress the Canvas' via the Browser's native `toDataURL('image/jpeg', quality);`. You can optionally specify a width/height to downscale the image.

Imho the readme needs to state what the library actually does. E.g.

"This takes a user image from a file input, optionally resizes it, and returns a JPEG, PNG or WebP as a Blob, ready to upload."

phoboslab··on Ask HN: How much ad revenue you make from your side project?
I'm hosting ztype on the same server as all my other personal sites (http://phoboslab.org, http://impactjs.com and a few more) and pay 50€/mo for everything.

The project with the 14m visits/mo generated 700tb of traffic and required half a dozen servers. Cost was around $2000/mo with traffic being the most expensive part. (I complained about traffic costs with cloud hosters a while back: https://news.ycombinator.com/item?id=11301085)

phoboslab··on Ask HN: How much ad revenue you make from your side project?
Build a community site and wait for 9 years. I'm not joking. The first 6 years saw maybe 2k visits/mo.
phoboslab··on Ask HN: How much ad revenue you make from your side project?
I make about $600/mo pretty consistently with a typing game (http://zty.pe) - about 200k visits/mo.

I once managed another project that had about 14m visits/mo and made a meager $3000. Bad target demographic.

phoboslab··on Auto-Play Policy Changes for macOS
http://jsmpeg.com/ work nicely in Safari.
phoboslab··on AAC Licensors
Almost true. Even Microsoft's Edge supports Opus now, but Safari still does not.
phoboslab··on Launch HN: Tress (YC W17) – Online community for black women's hairstyles
Interesting clip from Good Hair: https://www.youtube.com/watch?v=vCEX34-1o6M
phoboslab··on Car allergic to vanilla ice cream (2000)
This is the kind of bug report that will keep you busy (and occasionally drive you crazy) as an Open Source maintainer. The bug is real, but the reporter completely fails to (or is too "lazy" to) isolate the problem or build a simple test case without a lot of hand holding.

I recently filed a bug with Chromium[1]. It took me about 3 hours to isolate the problem and build a simple test case when I could have just reported "My HTML5 game fails to load when I refresh the page" - making it extremely time consuming for the Chrome maintainers (much more so than it was for me) to find the culprit.

Please isolate the problem when reporting bugs!

[1] https://bugs.chromium.org/p/chromium/issues/detail?id=677633

phoboslab··on Tell HN: Ycombinator.com Blacklisted by Norton
This happened to a site I managed a while ago. The cause was a comment a user posted that was flagged as a "batch virus". The content of the comment was all text, along the lines of

   @echo off
   echo "Speeding up your PC!"
   delete c:\Windows\system32\
Thanks Norton!
phoboslab··on One Doom fan, 300 hours, and one gargantuan level
Carmack later stated that it was "silly" to set the game on Phobos given the moon's size and gravity. I believe he said that around the time of the Doom 3 release - which is set on Mars, not Phobos.

I'd guess the reason the level layouts are not "realistic" is simply to offer better gameplay. Level layouts in modern games (even bland ones like CoD) don't make much sense either, but they're better at hiding it.

phoboslab··on The Technology Behind A Low Latency Cloud Gaming Service
You're right. I misunderstood Op's "Even if you get down to 0ms" to be referring to network latency, stating that encoding and decoding would still be a problem (which the Wii U shows it's not).

That said, 15ms network latency isn't too bad at all, considering that it takes your TV 40-80ms to display a frame through HDMI. Fortunately, with the advent of VR display manufactures finally took notice of this built-in lag. So that's getting better, too.

phoboslab··on The Technology Behind A Low Latency Cloud Gaming Service
The Nintendo Wii U renders on the console, encodes to H264 and streams it to the GamePad. The lag doesn't seem to be a problem there.
phoboslab··on Ask HN: How did you keep improving your typing speed after 100 WPM?
I've been using Colemak for the past 10 years now and couldn't be happier with it. I have abandoned the German QWERTZ layout, mainly because writing code with QWERTZ is a real pain (curly braces, brackets and many other special chars can only be reached with the ALT modifier). Also, the layout for special characters on QWERTZ is different for Mac and Windows and I'm using both.

Colemak is way easier to learn than Dvorak if you come from QWERTY. With Colemak, all special chars and some common shortcuts (undo, cut, copy, paste) are on the same key as on QWERTY.

I don't know if I'm faster with Colemak than I would be with QWERTY now for normal text, but it certainly feels smoother and more natural, if that makes sense.

Unrelated to Colemak: I wrote a typing game a few years ago. It's more "playful" than Typeracer and targeted at beginners. I don't think it will improve your typing speed past a certain level, but it should still be fun:

http://zty.pe

phoboslab··on The Apple Goes Mushy Part I: OS X's Interface Decline
I know a few people who still print photos, but most of my friends never do. So a photo on a screen would maybe be a better metaphor if you need one.

It's a really difficult problem. So many of the things we do today are done on a rectangle with a screen. That doesn't make a good icon. Maybe icons are obsolete altogether?

phoboslab··on The Apple Goes Mushy Part I: OS X's Interface Decline
> I'm 35 and I have probably seen an actual contact book once when I was little. It doesn't make sense to have a skeuomorphic contact book as an icon for Contacts.

There was a rhetoric not too long ago where OSx fanboys would make fun of Windows' interfaces for still using the disk icon as the "save" button. Now that guy is complaining that the photos app icon doesn't look like a Point And Shoot camera, when fewer and fewer people use those.

Skeuomorphism doesn't make sense anymore when the real world items it's based on are vanishing.

Case in point – telling a young kid how to answer a call on the iPhone: press the green banana button.

phoboslab··on Nintendo Developer Portal
Financially? Not really. I made about $30k from the game in total. It's a very simple game, though. Nothing you'd expect big sales numbers from.
phoboslab··on Nintendo Developer Portal
I previously worked with the Nintendo Web Framework to bring one of my HTML5 games to the Wii U[1].

NWF itself is quite polished and very easy to work with. You get all the dev tools you know from Chrome – the debugger connects directly to the console. "Porting" my game was very straight forward for the most part.

However, the hardware setup was clunky. You're swapping out SD cards to install images with the system software and the account setup is really tedious.

The worst part was the whole paperwork you have to wade through. The game submission process is as manual as it gets. There's no nice web interface to tie it all together - instead you're writing emails, filling out PDFs and Excel Sheets(!). Hundreds of emails.

I can only hope that they improved the paperwork part. This was all about 2 years ago.

[1] http://phoboslab.org/log/2014/07/xtype-plus-an-html5-game-fo...

phoboslab··on Ask HN: What did your 'Show HN' project turn into?
I'm self employed. Some of my projects (mostly Ejecta[1] and jsmpeg[2]) spawned a lot of contract and consulting work lately. I'm also selling licenses for my games[3] so other gaming sites can host them and the AdSense banner on ZType[4] provided an impressively stable ~$500/mo for the past few years.

[1] https://github.com/phoboslab/Ejecta

[2] https://github.com/phoboslab/jsmpeg

[3] http://phoboslab.org/#games

[4] http://zty.pe/

phoboslab··on Ask HN: What did your 'Show HN' project turn into?
Almost 6 years ago I posted my HTML5 Game "Biolab Disaster"[1] and my JavaScript Game Engine "Impact"[2] here.

I have sold about 6000 licenses of the Game Engine since.

Impact was my bachelor thesis and I wanted to release it as open source initially. However, after I finished university I poured a whole lot of time into polishing and documenting it, so I thought "what the hell, I'm going to try to sell it". Surprisingly it worked. Impact pretty much financed all the other projects I've been working on since.

I believe I was at the right place at the right time. Apple just announced that they won't support Flash on iOS and Impact was one of the very few solutions to make (substantial) games in HTML5.

Impact has only received minor updates since its launch. I tried to start with a fresh new version a number of times, but always stopped short - I felt like I couldn't deliver anything worthy of the high expectations people had. Sales have died down slowly over the last two years, partly because Impact is somewhat outdated now and makes some things more complicated than neccessary and partly because there are now very strong Open and Closed Source alternatives in this space.

At the beginning of this year, I finally found some new perspective on what a "Impact 2.0" should deliver and most importantly, the motivation to implement it. It's currently my favorite project to work on. It's a complete rewrite. Simplifying everything with the insights I gathered over the past few years is humbling, but I love it.

My plan is to have 2.0 ready at the end of the year. I'll probably publish Impact 1.0 under GPL then.

[1] https://news.ycombinator.com/item?id=1686572

[2] https://news.ycombinator.com/item?id=1779632

phoboslab··on Microlight.js, a code highlighting library
Somewhat related: I wrote a JavaScript syntax highlighter for js1k a few years back. It's 1008 bytes including a quine - highlighting itself:

http://js1k.com/2010-first/demo/194

phoboslab··on Growing Rift Between Valve and Oculus
Valve's Lighthouse tracking system isn't particularly elegant from a usability standpoint. I see Oculus' and Valve's current systems as a temporary solution. The future likely is in inside out tracking (i.e. one or more cameras on the headset, looking out). Oculus is working on that. I'd be surprised if Valve isn't.

I agree with your comments on the Oculus platform. It's sad to see them building higher and higher walls for their garden.

phoboslab··on Grafi.js – JavaScript Image Processing Library
A while ago I wrote a similar library, running on the GPU using WebGL[1].

It's interesting how the library just became a _wrapper_ around 3 very simple pixel shaders (color matrix, convolution and blur), with the GPU doing all the looping over each pixel for you. Imho the shaders explain the idea of each filter much more clearly than iterative code could.

[1] http://phoboslab.org/log/2013/11/fast-image-filters-with-web...

← PreviousPage 4 of 13Next →