HNHacker News
TopNewBestAskShowJobs

rcconf

851 karma · joined January 15, 2013

submissionscomments
rcconf··on Ask HN: What do you use to manage dotfiles?
My entire machine is setup using Ansible, Homebrew and Homebrew Cask. It works pretty well.

https://github.com/arianitu/setup-my-environment

https://github.com/arianitu/dotfiles

rcconf··on 'RuneScape' Can't Escape 2007
RuneScape was a giant reason I got into programming and has a special place in my heart.

I was about 13 years old at the time. I recall reverse engineering the client, modifying existing Java private servers and interacting with a range of hackers that have taught me lessons that I still remember until this day. The race to see who could reverse engineer the client and implement a feature the fastest was amazingly exciting.

I remember the day I was messaging someone to send me the packets for spells in the game. They sent me the packet id, how to supply x,y,z coordinates for the opposite player, and I was suddenly shooting fireballs in my private server. Amazing!

I'm now working at a game development company and teaching at a local college (I did not finish high school.) and I'm thankful for the entire RuneScape botting and private server community

rcconf··on Critical Xen bug in PV memory virtualization code
Does this mean it's a good idea to reset all keys/passwords for any service that was using Xen?

I don't know much about Xen, so perhaps someone else can chime in on this. This exploit says it's for PV, and not for HVM.

But Xen can apparently run both at the same time. Does this mean even if you were using HVM, and Xen had other guests using PV, you were still exploitable?

rcconf··on Do you know how much your computer can do in a second?
I got 10 / 18, that's a pass! I learned some of these numbers from doing a lot of stress tests on the game I work on.

I think the really big thing is to actually create some infrastructure around your product to run performance tests whenever you're developing a feature. That's the only way you're ever going to good data.

As an example, the SQL tests will act very differently depending on if the table was in the buffer pool, or it had to be fetched from disk (I wrote my own tool to run tests on MySQL if anyone is interested, https://github.com/arianitu/sql-stress)

rcconf··on In Defence of Monoliths
Writing multi-threaded code is hard, writing micro services is even _harder_. I don't think your argument holds here.

Micro services are hard to write, so don't write them unless you absolutely have to.

rcconf··on In Defence of Monoliths
We've had a lot of issues with micro services. They're extremely difficult to debug and end up being too generic. I argue the reasons why we introduced microservices has merit (massive code base) but does not mean they are simple to use/maintain.

Here are some examples:

1. A chat service (race conditions, synchronization issues between the game server and chat service that had to be debugged using sequence diagrams)

2. A payment service that handled Facebook, PayPal, and other payment methods. (race conditions, complicated integration, difficulty upgrading for different products, complicated code base to handle multiple use cases)

3. An authentication service (complicated protocol, hard to integrate)

4. A worker service for handling bcrypt (because blocking a single threaded server for 0.5 seconds is not acceptable, race conditions)

5. A tracking service (could have probably just been a library you included instead of hitting an API)

Core issues:

- Race conditions

- Synchronization issues

- Complicated to upgrade/maintain for multiple products

- Become too generic and solve multiple problems (services tend to be used for multiple products in the company)

- Extremely difficult to debug

- Complicated error handling for when a service is not reachable

pro-tip: don't share databases between multiple products for each service, deploy a new service for every product with its own database.

I think I'm scratching the surface here, but I would be really careful with introducing this kind of architecture when you can do it all in one server.

rcconf··on Deprecating our AJAX crawling scheme
This might be obvious to anyone who has done SEO, but can Googlebot index React/Angular websites accurately? I was always under the impression that the isomorphic aspect of React helped with SEO (not just load times.)
rcconf··on Soda Taxes Seem to Cut Soda Drinking
Most of the research I've read has said the opposite.

http://examine.com/faq/is-diet-soda-bad-for-you/ http://www.efsa.europa.eu/en/efsajournal/pub/3496

rcconf··on New Windows 10 Devices From Microsoft
Resizing the window and trying to scroll causes a lot of scrolling bugs as well.
rcconf··on Immutable Data Structures and JavaScript
I haven't really had an issue with this. You can use the functions .toJS(), .toArray(), .toObject() on any Immutable object to go back to a plain JavaScript object.
rcconf··on Apple Watch sales down 90% since the opening week
I found the Apple Watch to be too expensive and it's the only reason I haven't bought one.

If it was around 299 for the non sport edition, I think I'd be sold.

rcconf··on Ask HN: Why use Docker and what are the business cases for using it?
My apologies if I'm hijacking the original poster.

Does Docker handle multi-environment configuration management? For example: qa, stage and live have the same config files, but different values.

Currently we're using Ansible and we set variables for a specific environment, then we feed those variables into config files based on where we're deploying to (config files are not duplicated, only variables that feed into config files.)

All of our configuration is in git and we can quickly see and change it.

How does Docker handle this?

rcconf··on ADP intentionally broke its Zenefits integration
You work for Justworks, but talk about the product like you don't work for them.
rcconf··on Ask HN: I'm starting a new job as a PHP developer tomorrow
I don't think this is good advice. If I switched to Windows, it would take me significantly longer to get my environment setup in a way that is useful to me. I'm spending more time tweaking my environment than actually coding.

At the company I work for, we have people on Windows, and we have people on OSX. We've never had a problem with it. Our build scripts are agnostic because we deploy to Linux anyways. If someone doesn't have a piece of software on a specific OS, we just run it on a VM.

I just can't think of a good reason to why you would need to switch to Windows in a PHP environment. I think it might be understandable if you work on a platform that forces you to run a specific operating system (like specific game engines), but I doubt he'll have any issues doing PHP dev on a Linux machine and switching to a different OS is just going to slow him down.

I assume the reason the company is not allowing you to run on metal is so they can install company software to monitor and install software updates on your machine, not because of the development environment associated with PHP.

I wouldn't switch my OS for a company unless the work absolutely requires it. My environment is highly automated for OSX and I can get up and running in under an hour. All my software is installed automatically, I have set directories where websites live and nginx is already configured to run from those directories.

rcconf··on Myths of Enterprise Python
Optionals are part of Java 8.
rcconf··on Java is Pass-by-Value, Dammit
The behaviour of JavaScript is equivalent for references. (Call by sharing)
rcconf··on I Am Sam Altman, President of Y Combinator. AMA
The tech around banking seems to move really slow. For example, just grabbing your financial data from your bank is really hard right now.

Do you have a lot of applicants trying to fix problems in the financial sector?

rcconf··on Your Most Important Skill: Empathy
Do you happen to have any books on hand that deal with setting boundaries. I never really developed this skill, but it seems really useful and I'm in a situation where I need it. My boundaries are clearly being crossed, but I don't know how consequences should be brought up, or how to actually go through with the consequences (I seem to cave pretty easily.)
rcconf··on Paperspace – A full computer you can access from any web browser
Because Paperweight is the black circle hardware device they made to stream from Paperspace. There's no point to using a browser on it, just stream directly through the wifi/ethernet port using TCP/IP.
rcconf··on Enough's enough: Contract teaching at a Canadian University
I work as a contact teacher for a local college (on top of my full time job) and it's sort of absurd the way they pay you. I get paid for 3 hours during lectures (60/hr), but not for any of the work I do outside of the school (marking, creating lectures, creating assignments)

I have realized that I should be payed way more and I'm having serious doubts of continuing to teach given the pay. The only reason I'm actually teaching is because it looks good on a resume and I want to improve my presentation skills.

Note:

I also teach in Canada.

rcconf··on Graceful server restart with Go
4. I find Add(-1) to be less readable. .Subtract(1) vs .Add(-1)? How do you find Add(-1) to be more readable?

I've also written an implementation of a very similar pattern in Node (wait for a set of asynchronous things to complete) and I've used Add() and Signal(), never Add(-1)

rcconf··on Ask HN: What book changed your life in 2014?
The Bogleheads' Guide to Investing.

Learning about the financial system really changed my perspective on how to deal with money in the long term. It has had immediate effects on my life.

I learned about taxation in detail, opened an account on a discount brokerage, changed saving patterns, and have made a portfolio for the next 10 years.

I have a spreadsheet of how much I can spend and componentize my bank cards. One is for bills, another for spending, and the rest are investing accounts. When I get a paycheque, I put how much I need for bills directly into the bill account, the allocated amount for investing in investment accounts, and the rest in my spending account. I know exactly how much I can spend at restaurants and I don't need to do any mental math.

I really feel like learning this at age 22 was life changing and I will be thanking my self in the future.

"Invest early and often" - Jack Bogle

rcconf··on Post Mortem: A single whitespace character
I've had the same issues when developing with Flask in Python. I forgot to URL encode some query parameters and it worked fine with the local HTTP server.

But when I put nginx in front as a proxy, it denied all requests.

rcconf··on Ello: You are not a product.
If you scroll down the page and then hit the back button in the browser; you're in an infinite loop on the ello.co website.

Highly annoying is an understatement.

rcconf··on Ragnarok MMO open-source HTML5 client
Interestingly enough. I also worked on a MapleStory emulator at around age 14. It was all done in C++ and it was an incredible learning experience. I learned about crypto, reverse engineering, networking, packet sniffing, hacking, etc. The strange part was that my current motivation for the entire field revolved around this project I did as a kid. I'm now 21 and working at a game company and teaching. It feels so surreal looking back at it because a lot of the concepts I dealt with at age 14, seem more complicated than some of the network programming I do nowadays.

I still have the source code laying around somewhere and here's a youtube video of its very early stages.

https://www.youtube.com/watch?v=hH5FLfNPSn8

rcconf··on JQuery SSL Certificates Expire
This brought down our website. Lesson learned, host your own JavaScript.
rcconf··on The New Haskell Homepage
I find the disappearance of the Haskell text and logo in the navigation bar to be really strange. It feels like I'm going to a completely different website every time I click anything on the menu.

I think it should always stay there, or something else should be done entirely.

rcconf··on Npm's Self-Signed Certificate is No More
This has also broken all of our own deploys on Jenkins. We had to use solution 2, and then upgrade, because solution 1 also produces the certificate error.

It was surprising that npm status didn't have any sort of warning. I had to find out about this via twitter. I think it's extremely irresponsible and I'm glad we've started to move away from node.js and started to use Java.

rcconf··on HTML5 game written in 0 lines of JS
scroll up and down to travel instantly and also avoid collision.
rcconf··on Zeros in JavaScript
Yes, highly recommended. Just look at that chart, insanity!
← PreviousPage 3 of 4Next →