HNHacker News
TopNewBestAskShowJobs

ermir

409 karma · joined August 11, 2016

Personal site: https://suldashi.com
submissionscomments
ermir··on Roblox S-1
I always believed tools and games like these had great potential, and always wanted to make something like Roblox, but it's too capital intensive for my situation. I learned the basics of computing and programming by modding games in the early 2000s, with custom Starcraft maps being the most instructive. The web offers the possibility of authorship and distribution that simply don't exist in any other platform.
ermir··on Minimal 16x16 Dots Coding Environment
This is really sweet, I love stuff like this. I do have a suggestion though, which is to create some aliases for the most commonly used Standard Library functions, such as Math.sin into s, or Math.cos into c, etc. This would save some space and allow slightly more code to be entered and more complex effects to be achieved.
ermir··on China's Hopeless Twitter Influence Operations
It works the other way around as well, American lack of cultural understanding of China also makes American influence operations seem very stiff and ineffective. I remember seeing a pro-democracy speech given by some Sinologist at an American University, the audience of which was mainland Chinese people. It was full of Americanisms and cultural elements which I assume would be very offputting and ineffective.

As for the Russian operations, the writer in the article briefly touches an aspect which I believe has the essence of why some of their operations work so well: it seems like the employees at the Internet Research Agency are having lots of fun subverting America. A few weeks ago I saw that one of the front organizations that claimed to be from somewhere in the US had an acronym that translated into something like "fuck" in Russian. I can't imagine the Chinese bureaucracy would allow such childish pranks to be part of a state influence operation, but paradoxically allowing your employees to mess around like this has a strong effect on the efficacy of your operations.

This actually mirrors a lot of what Paul Graham says about procrastination, and Jordan Peterson about play being an essential human activity. Simply put, if you don't feel like you're playing, you'll never get into a flow state where you can do your best work.

ermir··on When Asbestos Was a Gift Fit for a King
For those that are unaware, if you or a loved one was diagnosed with Mesothelioma you may be entitled to financial compensation.
ermir··on A Near-Ultrasound (NUS) Data Link
I remember seeing an app once that was used in stadiums and other public venues that could be used to create a distributed and coordinated lightshow with the audience smartphones. How it worked is that the audience would activate an app, put their phones up in the air, and a loudspeaker in the stadium would emit ultrasonics that the phones would pick up. The phones would then turn their screens on or off, and by using different frequencies, you could switch up their colors or selectively turn on only a couple of phones.

Ultrasonics are a really cool and easy way to have short range transmission of data, or even broadcasting with a loudspeaker. The data rate may be low, but it's perfectly fine for stuff like toggles, or transmission of commands.

ermir··on Ask HN: What's your quarantine side project?
Mondays could also work, since it would allow people an extra weekend to finish what they want to show. Also it will allow them to procrastinate at work.
ermir··on Ask HN: What's your quarantine side project?
If you do make it monthly, my recommendation is posting it on the 15th of every month, to stagger it with the other regular threads. This way you don't make the start of the month a scramble of postings.
ermir··on Ask HN: What's your quarantine side project?
Since this thread has been extremely popular, is there a possibility to make this a regular monthly thread, similar to "Who wants to be hired"?
ermir··on Ask HN: What's your quarantine side project?
I am making my own platformer game with a custom engine, with the hope of eventually adding user editable levels and WebRTC based multiplayer.

https://infinitower.suldashi.com

There are no mobile controls at the moment, and movement is done via WASD keys. There are not many features at the moment since I’ve been focusing on the core engine functionality, but the development process has been very rewarding and educational.

I also want to use this material to write a series of tutorials or maybe even a small book.

ermir··on Simple-peer: Simple WebRTC video, voice, and data channels
What drives me insane is why are not people using WebRTC for video game client-server communication on the web. It works similar to UDP but controlled, so the security risks are significantly reduced. Now with simple-peer there's an easy way to implement this in the server, and you can have the same engine running on node and on the browser as well.
ermir··on A Dropbox account gave me stomach ulcers
What a complete nightmare! I bet that most of that data is useless, and the Dropbox account is just used as a dumping ground for everything and there's no tagging, cataloging, or any sort of data structures.
ermir··on Ask HN: How is the Eiffel tower blue light beam implemented?
It's just a normal spotlight, it looks like a beam because the top of the tower touches the cloud cover.
ermir··on Tools we used to create a hit HTML5 game on Steam
I did not make the game you are asking about, but WebRTC has an even better feature than TCP, which is unreliable datagrams (essentially UDP). Very few people have done anything with it, since server support for WebRTC data channels is very limited. Still, you can use dirty hacks such as leveraging Puppeteer as a WebRTC endpoint and make true lag-free experiences for the web.

Last I checked a few months ago this library was working for WebRTC data channels on node.js. Check it out, but it might not work properly:

https://github.com/node-webrtc/node-webrtc

ermir··on Tools we used to create a hit HTML5 game on Steam
Yes, you lose many of those capabilities, but you also gain new ones. I bet agar.io would never have been played had it been a Windows executable or a Steam game. The friction in starting the game and playing the game is so low, that it drawfs all other downsides by far.

In fact, this is the exact justification why HTML/JS business apps have thrived, because even though JS has tons of problems, all of them can be overlooked when you gain the capabilities of the web.

ermir··on Tools we used to create a hit HTML5 game on Steam
I have been thinking about this problem a lot and I may have a solution. Essentially, every time the user loads the page he gets a different obfuscated version of the base game. In this way, no script or plugin can be made to hook to your code since it's different every time the game loads. In addition, you can also obfuscate the protocol (for multiplayer) so that network sniffing tools can't capture the relevant data when communicating with the server. Finally, you can tie an obfuscated version of the game to a particular user, so you can find hackers or make it harder for them to run the game.
ermir··on Tools we used to create a hit HTML5 game on Steam
Using things like DOM integration, WebRTC multiplayer, URLs as navigation requires you to develop for the web as a first class platform , which you can only do with JS directly.
ermir··on Tools we used to create a hit HTML5 game on Steam
Well, the rendering problem can be solved by using an existing game engine. Rendering is done in WebGL, and the engine abstracts away the browser-specific details.

Furthermore, because of Google's dominance, not many browser engines are left in the market. Essentially all you have to do is support WebKit, Gecko, Blink, and you'll cover 99.9% of your userbase.

ermir··on Tools we used to create a hit HTML5 game on Steam
HTML/JS is criminally underrated as a game development platform. You get so much from it, like instant deployment, delivery, multiplayer features, and so much more. You can just send a link to your friends and they can join your game with a single click.

The reason why business apps went all to the web still holds for games as well. Games like agar.io use these features, such as no downloads and instant start, and their success speaks for itself.

ermir··on Show HN: Open-source game engine that combines SwiftUI with SpriteKit and ECS
Nice work, it took me about 4 attempts to get ECS right. It's very powerful and effective for video games.
ermir··on Helping newcomers become contributors to open projects
Bad people cut both ways, and I think it's impossible to design any kind of document (CoC or otherwise) that can force assholes to behave nicely. All these discussions about formalizing relationships, expectations, and behaviors are in my opinion a foolish exercise of programmer logic in social situations, where you abstract away all the difficult human interactions behind something that resembles a function call and then use it everywhere. In reality, all social structures are unique, all relationships take time and effort to build, and a large amount of a programmer's effort will be spent in navigating human structures. The fantasy that you can put up a CoC so you can finally solve the human issues and get back to programming is the ultimate programmer dream, but it's not something that exists in the real world.
ermir··on Helping newcomers become contributors to open projects
Open source projects (or any large collaboration) now have a new type of danger that many are unprepared to handle, in that there are people online who will shit on your work or make a giant spectacle that can ruin people just so that they can appear good in Twitter or make some kind of name for themselves in certain online circles. Similar to thieves who steal metal from railways, the damage they cause is far higher to the benefit they get, and so they should be resisted like the harmful element they are.

Sadly, having an open and explicit CoC and governance structure gives these people a weapon to use against you. Now instead of dealing with your problem on a case-by-case basis, you will have third parties, who otherwise have no stake, interpreting your own CoC against you just to win some internet cred.

ermir··on Really Fixing Getrandom()
To add to my answer, you can also do something like this: randomNumber = AES(secretKey, counter), where counter is just a sequence number that you can share in the open. Anyone without the key would not be able to generate the random number with just the counter only.
ermir··on Really Fixing Getrandom()
You can use a sequence of AES encryptions with a pre-shared seed, the quality of the random numbers will be among the highest you can get. You can find AES implementations all over the place, for basically any platform.

You would do something like rng1 = AES(seed); rng2 = AES(rng1); rng3 = AES(rng2);

ermir··on Show HN: USB PD Stand-Alone Sink Controller
This is quite cool! Any PCB designer that needs a lot of power should just use this design and hopefully the world will eventually settle on using micro USB for low power and USB PD for up to 100W. I am currently thinking of making a device that has a PCB, and one of my key requirements is the use of micro USB (5V 500mA) precisely because designing power circuits and distributing DC adapters is a major cost.
ermir··on Nobel Prizes in Literature Awarded to Peter Handke and Olga Tokarczuk
People in Kosovo are quite upset at the Nobel committee for awarding the prize to Peter Handke, since he has always been an unabashed supporter and sympathizer of Slobodan Milosevic, who holds great responsibility for the Yugoslav wars in the 90s and the numerous war crimes perpetrated in them.

https://balkaninsight.com/2019/10/10/slobodan-milosevic-symp...

ermir··on Bulgaria is the world’s fastest-shrinking country
Also a fun fact: City 17 was based on Sofia.
ermir··on Silk
I was just messing around with this and experimenting with the features, when a human shape slowly started coming out of my unconsciousness. At the end when I realized what was coming out, I strove to finish, and it turns out quite angelic.

http://r.weavesilk.com/?v=4&id=dwz2p4vwngg&fbclid=IwAR3Z4W8Y...

ermir··on Hackers breach FSB contractor, expose Tor deanonymization project
Yes, it's good practice for an embassy to use a VPN to their home country for 100% of incoming and outgoing traffic (at least that's how I would do it).
ermir··on Add detailed message to NullPointerException describing what is null
This is the same exact reason why PHP double colon errors still include the `T_PAAMAYIM_NEKUDOTAYIM` string somewhere in the error, as various error parsers still look for it even though the error messages have been updated to be clearer. The PHP team can't remove it or it will break tons of error parsers.

https://philsturgeon.uk/php/2013/09/09/t-paamayim-nekudotayi...

ermir··on Show HN: Blogcast – Generate audio versions of your articles
Other people have said it already, but you are charging too little for your service. You should increase the price by at least 10 times. People use price as a proxy for value, and things that are priced too low are perceived as low quality. Increasing the price may even increase sales!
← PreviousPage 4 of 5Next →