HN user

werkshy

60 karma

Engineer at Harry's. andy at potatoriot.com

Posts1
Comments27
View on HN

From the chrome extension github:

  "This is pre-alpha quality software, the result of a three
  day project. It will crash your browser, leak your
  passwords and destroy your home. This is actually my first
  Chrome extension and I am no expert javascript programmer."
YMMV

We (Harry's) have released a tool called Kontrast: https://github.com/harrystech/kontrast, http://engineering.harrys.com/2014/09/24/kontrast.html

It's written in Ruby but is not really dependent on Rails or anything to run. We use it to compare a list of URLs between the version we are currently testing in CircleCI and our production site. Any differences are highlighted in a nice gallery and we get a message in our Hipchat room.

I run mine as a NAS, and the performance is pretty terrible. The portability is great though! I'm somewhat nomadic at the moment so it's great to have a 1TB NAS that I can pack in my laptop bag (1TB external 2.5" drive + rpi: minimal weight too)

  ubuntu@c1-10-1-18-157:~$ sysbench --test=cpu --cpu-max-prime=2000 --num-threads=4 run                                                                           
  sysbench 0.4.12:  multi-threaded system evaluation benchmark                    
                                                                                
  Running the test with following options:                                        
  Number of threads: 4                                                            
                                                                                
  Doing CPU performance benchmark                                                 
                                                                                
  Threads started!                                                                
  Done.                                                                           
                                                                                
  Maximum prime number checked in CPU test: 2000                                  
                                                                                
                                                                                
  Test execution summary:                                                         
      total time:                          6.7674s                                
      total number of events:              10000                                  
      total time taken by event execution: 27.0485                                
      per-request statistics:                                                     
           min:                                  2.69ms                           
           avg:                                  2.70ms                           
           max:                                  7.00ms                           
           approx.  95 percentile:               2.70ms                           
                                                                                
  Threads fairness:                                                               
      events (avg/stddev):           2500.0000/17.36                              
      execution time (avg/stddev):   6.7621/0.00

I don't understand why web professionals are publishing their work in .docx format, whatever the standard of the writing.

We certainly don't use Heroku for the price. I've got a fair amount of experience running distributed apps on AWS and I have found that Heroku do provide a lot of value-added services on top (from deployment to database provisioning). For us, the best reason to use Heroku is that when AWS has a problem, Heroku can actually do something about it. Try calling AWS support when a whole availability zone just went down!

Of course, we are a Rails shop who have been on Heroku since we launched, so Heroku is really tailor made for us. If you're happy on raw AWS, good for you. Every hour I'm not thinking about AWS is an hour I can be writing a feature for our 10-month-old startup. The extra cost of Heroku is negligible when viewed in that light.

We find that neither New Relic nor Analytics gives the full picture: some of our pages are heavily cached, others (e.g checkout processing) are computationally expensive, database heavy and communicate with other systems (e.g payment processors) that can be a big bottleneck. Both New Relic and GA tend to just average those together (although with GA you can create new views that focus on specific pages). You are right that 'number of visitors on site' does not reflect our site performance in every respect.

We first conceived of Dynosaur as a plugin-based autoscaler (with GA and New Relic plugins to start with), but we've found the times we really need to scale fast are the times we have a lot of traffic generated from press stories etc (like this from today, if you will excuse the shameless plug: http://dealbook.nytimes.com/2014/01/21/a-start-up-run-by-fri...) and using the analytics live API allows us to react a little quicker than if we waited for New Relic to tell us our response times are getting slow. So far, we're happy enough with just a Google Analytics plugin.

One possible improvement would be to scale differently based on different traffic / performance metrics across the site. I think New Relic or other performance instrumentation would be very useful for that.

That really depends on your app and your caching strategy. If you are doing something complex or memory intensive (or your app is poorly optimized), or if your users are highly engaged, it could be in the low tens of users! If you are doing a lot of caching you should be able to serve static pages on the order of several hundred or more per dyno.

We haven't benchmarked against other autoscalers or done any direct comparisons.

Our main motivation was to write something that scaled as we scale manually (i.e. when we get a lot of traffic due to press hits etc, we scale up based on GA realtime data as well as New Relic response times). When we were given access to the GA live API it just seemed like a natural fit.

Introducing Neo900 13 years ago

Yes, but it's a 3 row keyboard. I upgraded from the G1 (5 row qwerty) to the G2 (4 row, numbers-on-the-qwerty-row) and it's next to useless.

As a phone, I need to use the number line a lot. As a computer /terminal, I need to use letters, numbers & symbols a lot. 3 and 4 row keyboards are bad for both of these use cases.

If someone makes a decent, interesting 5-row qwerty phone, I will buy it tomorrow.

We just spent days moving stuff away from Elasticache due to memcached limitations, and would love to have moved to managed Redis. We're an AWS partner, with the highest level support contract and if we'd known two weeks ago that this was in the pipeline, we would have waited. AWS, why don't you give us any road map for stuff like this?

With Digital Ocean you'd need to install a software firewall on the servers themselves, there is no API-configurable network-level firewall. I used 'ufw' which was quite easy to get started with (on Ubuntu), and replicated my AWS security group config pretty quickly. I added the ufw config to my host setup scripts so it happens automatically.

Zoneminder grinds my dual-core Atom to a halt. Try 'motion' for a simpler system (well, simple if you like config-file setup) with about 25% of the CPU usage. Plus, the viewing interface is just 'cd /motion; ls *avi' rather than the slow and clunky web interface of ZM.

EnergyHub : Full Stack Software Engineer - Brooklyn, NY. Full Time.

We're building a platform for controlling residential energy usage (think wifi thermostats, but also all sorts of home automation stuff). We're looking for a smart someone to work on all aspects of our software platform, from the back end, to web and mobile applications, to the tools that we use in development and production environments. We’re a small team, we use Python/Java/Backbone/Mongo/lots of other stuff and we're open to new ideas.

In addition to solving all of the usual software problems (achieving high availability, dealing with lots of data, implementing web services efficiently, choosing the best JS and CSS technologies, etc.), we also deal with real physical devices, so you will be encouraged to learn about boot loaders, Z-Wave, how to conserve the battery of an embedded device, and much more.

We're well funded, have a great workplace environment nestled between artist studios in Brooklyn and I think you'll like the team.

http://www.energyhub.com

Apply here or contact me informally for more info (email in my profile): http://careers.stackoverflow.com/jobs/21403/full-stack-devel...

I can't even begin to calculate the amount of time I wasted on Eclipse. I hated it. I tried to use eclim, which kinda work, but started crashing vim (infrequently) which is worse than not having anything. At least once every two weeks (for three years) I would get so fed up with how slow it is that I'd spend an hour or two trying to fix it.

It's hours and days wasted, and that's before I consider any difference in productivity while actually using each IDE. If any of this sounds familiar, do spend a couple of weeks in the free version of IDEA. It was night-and-day for me. The worst part will be your muscle memory (e.g. stepping through the debugger).

Switching between tabs in the editor takes > 1s (on a core i7 with 12GB). That is enough to make it almost useless for me. IntelliJ community edition is much snappier.

It looks like it installs a separate non-conflicting package called wine-compholio with the necessary patches, and leaves your current wine installed. I don't really have any current wine apps to test against, but you should be able to try and uninstall everything to get back to your current set up.

This is true, in the Ubuntu packages this is printed to the default log at /var/log/mongodb/mongodb.log. It is also abundantly clear from the documentation. I struggle to understand how one could deploy a new datastore in production without reading the "getting started" level of documentation or looking in the log at some point.

The 2GB 32-bit limit of MongoDB seems like a complete non-issue to me.

  Wed Sep 19 17:29:21 [initandlisten] MongoDB starting : pid=3765 port=27017 dbpath=/var/lib/mongodb 32-bit host=deepthought
  Wed Sep 19 17:29:21 [initandlisten] 
  Wed Sep 19 17:29:21 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
  Wed Sep 19 17:29:21 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
  Wed Sep 19 17:29:21 [initandlisten] **       with --journal, the limit is lower
  Wed Sep 19 17:29:21 [initandlisten] 
  Wed Sep 19 17:29:21 [initandlisten] db version v2.2.0, pdfile version 4.5
  Wed Sep 19 17:29:21 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
  Wed Sep 19 17:29:21 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
  Wed Sep 19 17:29:21 [initandlisten] options: { config: "/etc/  mongodb.conf", dbpath: "/var/lib/mongodb", journal: "true", logappend: "true", logpath: "/var/log/mongodb/mongodb.log" }
  Wed Sep 19 17:29:21 [initandlisten] journal dir=/var/lib/mongodb/journal
  Wed Sep 19 17:29:21 [initandlisten] recover : no journal files present, no recovery needed
  Wed Sep 19 17:29:21 [initandlisten] waiting for connections on port 27017
  Wed Sep 19 17:29:21 [websvr] admin web console waiting for connections on port 28017

Luckily my RDS wasn't affected, but ELB merrily sent traffic to the affected zone for 30 minutes. (Either that or part of the ELB was in the affected zone and was not removed from rotation.)

We pay a lot to stay multi-AZ and it seems Amazon keep finding ways to show us their single points of failures.

CINT is really rather silly as the main interface to ROOT. ROOT is awesome, and huge, and you do need to use C++ to take full advantage of it, but it is also accessible from Python which is a far more sensible language to use in a REPL or in small scripts. I always did C++ for longer scripts or to integrate with other C/C++ work, but Python for quick scripts and REPL exploration.

Nice to see CINT evolving and using clang for better conformance (and performance, presumably), and hopefully this will free some time that was being spent on CINT but if you find yourself using this more than once for physics analysis, do yourself a favor and try python instead.