HNHacker News
TopNewBestAskShowJobs

grogs

79 karma · joined March 28, 2010

Scala developer in London

http://gregd.me

[ my public key: https://keybase.io/grogs; my proof: https://keybase.io/grogs/sigs/hlxfkKYLz7Lr8RKBGHsGaqpnugofrm61MpDRddt6LAY ]

submissionscomments
grogs··on Why I love everything you hate about Java
I no longer care. Java is overly verbose, but therefore explicit. I'm happier to do concise Scala with more stuff implicit stuff going on, or more explicit stuff in Java with lots of Spring config.

Opinionated frameworks which hide stuff from me are bad. They're good for initial productively, but you pay the price later - you have to understand it to weak it, and may find the architecture doesn't fit your problem.

On the other hand, writing a Spring config file from scratch is a horrific process, especially without the Spring eclipse plug-in.

But now that I understand web.xml's and application-context.xml/*-servlet.xml, and have written plenty of Spring config, my productivity is pretty damn good. So why should I care.

grogs··on Escape from Callback Hell: Callbacks are the modern goto
Another approach to async IO is CPS (continuations passing style), in which you write imperative style code. This imperative style code is then compiled such that the blocking IO operations are called with callbacks, which are the remainder of that block of code (the continuation) - allowing the calling thread to be re-used while blocking for IO. Relies on the continuation having access to the outer/parent/previous-part function via closures.

It'll be interesting to see if people start doing this. Requires people to understand continuations and closures (which more people have exposure to now via JavaScript), and library support.

grogs··on Use Zsh
just stick an exec zsh at the end of your bashrc, wrapper in an if statement if it's not available on all machines on your environment.

do people have the same attitude to screen/tmux or vim/emacs (vs nano)?

grogs··on Do Web 2.0 Companies Really Have The Best Technical Talent?
Apple still has a reputation/image plenty good enough to attract good talent. I assume they just don't invest as much. Hardware and marketing is a much bigger part of their business.
grogs··on Delete the Save Button
This might make sense in office programs, but I'd hate this for program code at least.

I think saving should not be needed except when you want to send the file to someone. Work already creates temp files which autosave? Part of me likes the idea of saving being option... just making word autorestore without being prompted. However, that would obviously be a significant, and prohibitively confusing, change in workflow for users.

Once you save, you've lost the previous version, especially if the program dies and you lose undo history.

In software development specifically, there's quite few tools that automatically pickup/use files when they're saved... Meaning you'll try to compile or use invalid files.

tldr; don't do this. word already guards against losing changes anyway.

grogs··on Oracle launches "a better alternative to CentOS"
Yeah, Oracle's brand/goodwill is completely dead if we're talking about consumers. However, does this effect business decisions at all? Any paid thing is aimed at businesses, and the business doesn't care about open source/ethics issues in the same way.
grogs··on I bet you over-engineered your startup
This looks exactly like Smalltalk's cascading; just allows you to not repeat $message loads of times. To me it's a useful feature which I often would like when working with lots of Java libraries.
grogs··on A day in the life of a startup founder
Hah, that's actually a thing (steganography). That full stop is actually a microdot.
grogs··on Improve your beta-testing with Nginx, Lua and Redis
Good write up for a sensible solution to a problem which should effect lots of sites.

Personally, I would probably take the approach of settings a cookie per user. This would be very suitable when beta testing is enabled/decided by users, rather than a subset being chosen A/B style based on a value in the database. This would have the advantage that nginx would not have to make any database requests; just check a cookie on the request, likely speeding up the speed at which nginx handles requests. However, it would require some changes to the application (versus [small] changes to the database which the slug approach) to set the cookie etc.

I wonder how easy this is to do in apache.

grogs··on Brackets: The Open Source Code Editor for the Web
I think it's true that the Android permission system is not very good; an application with zero permissions can read everything on the SD card. However, I'd like to think this is just a weakness in Android, rather than proof that permissioning system for end-users don't work.

Are there any other recent examples of poor permissioning?

Maybe the fact that programmers are typically more considerate about this, but it has no "real" benefit to end users, leads to the whole design/workflow not getting much attention.

grogs··on Don't take your highest-paying internship offer
Is this true? It's good resume filler, but you won't "meet" many people through it; your mentor, although probably a member of a big corp (most OS stuff has corp sponsors), is just one person.

So the networking opportunities are limited, a lot of the work is the "easier" (less-critical) stuff for projects (although on the other hand - maybe the more interesting projects).

It will definitely look good on your CV, but any better than getting a good internship elsewhere?

grogs··on Please learn to write
At my last firm we could share our screen just by giving someone a hyperlink over IM. Sometimes this was really valuable... for coding issues or support issues. Skype has this too, people should use it more.
grogs··on Rethinking try/catch
Goto statements are not as horrific as comp sci 101 lectures suggest. This is especially true when compilers do it, pretty sure JMP statements are used for function calls.
grogs··on How the shift to ebooks will affect genre categories in fiction
Even so, paying for a proof reader or two isn't a lot to ask. Especially when they're charging more for the books.
grogs··on How LinkedIn built its new iPad app
Argh, sensationalism is very annoying. As a web dev who's used PhoneGap, and I'm glad to see it's becoming an accepted approach to mobile apps... But PhoneGap has been around for years.

Regarding responsive design: the best mobile apps/sites will have a specially crafted mobile design, but responsive design is a good solution if you lack the resources/need for a great mobile app.

grogs··on Oracle and the End of Programming as We Know It
Why?
grogs··on Your Bash Prompt Needs This
Because it was at some point when the decision was made, for a few distributions.

How often is this decision re-evaluated?

...personally I just hit Ctrl+C again to reset my prompt.

grogs··on We want to increase the number of women in software development.
I'm really sure a fair few women will resent being given "unfair" advantages. I've definitely witnessed this in regards to Google giving some free conference passes to a number of women.

Maybe the education system just needs to interest females before they get the chance to realise it's "uncool".

The only dev team I've been in thus far has included a woman, in a workplace which I consider a meritocracy. I've yet to work in a team unsuited to women.

grogs··on Ninja, a small build system with a focus on speed
UTF-8 is just... really good.

The only disadvantage I can really think of is that the implementations must be fairly complex. That and determining character count can no longer be calculated from filesize.

grogs··on Yelp, You Cost Me $2000 by Suppressing Genuine Reviews. Here’s How You Fix It
The Internet should not replace the 1995 solution. You should always use a hybrid approach.

If a friend recommends Avengers Assemble, I go see it. If I end up at the cinema out of boredem, I'll let imdb help me.

I want some website to come along which solves this for me, and neither Facebook nor Hunch nor IMDB do really.

grogs··on Is it OK to Want to Make Money?
I think the 6 figure salaries will definitely still exist. The interesting thing is that developers cannot let their skills stagnate. If we stop learning at 30, the 20 year olds will steal our jobs. Going the management route can be dangerous, but going the consultant route, I think it's a pretty safe career.
grogs··on This Is 2016 Not 2012
Interesting ideas. I'd love to read some good sciene fiction novels based on this.

It has the potential to be very relevant. 3D plastic printers are interesting, but too limited at the moment. 3D concrete printing has existed for a while though, that can definitely allow software to be/create the walls of your house.

For medicine it's just a case of getting the simulation down. It'll also be interesting if robots get better. There's a lot of boring lab work in the natural sciences, if this can be automated and controlled by software... Your testing can be done by software... Genetic algorithms could be used to find cures to things. (Although using robots to physically test would presumably be much much slower and more expensive than a computer simulation. :( )

grogs··on Grading job candidates via Github API
Interesting idea. Obviously, plenty of good people do not use github though.

This should be used to allow programmers to skip the phone interview stage, filter people in. However, it it should not filter people out... Just give others a phone interview.

grogs··on Cook something or get out of the kitchen
I really like this analogy (as I've been actively developing my cooking skills a lot over the past few years).

I mostly develop recipes through trial and error, or at the very least the existing knowledge from my cooking skills. The idea that someone who doesn't cook could come up with a good recipe is somewhat absurd.

Recipes which are created by people without any experience may sound good (a good idea), but are actually pretty bad; e.g. the bacon explosion.

grogs··on If You Have A Smartphone, Anyone Can Now Track Your Every Move
Absolutely. Oversimplified to the point of being false.

I'd have thought this would be fairly easy to do, you just need a sufficient amount of WiFi access points. Someone should add this DD-WRT or Tomato so it can be done with cheap/consumer routers easily.

grogs··on 4 Months Of eBook Sales
Indeed. Writing a book creates a passive income stream. Much like a blog with ads. It's arguable it's not completely passive, you can/should do promo - but equally you may want to do SEO on a blog.

The Hunger Games trilogy will be getting a lot of sales now, since the movie has been released and it did well on Amazon. The first book is 4 years old though, plenty of books pay off after the initial release.

grogs··on JavaScript in JavaScript (js.js): smaller, faster, and with demos
Same. Could not believe it, reread until I saw the all important colon.
grogs··on Don't Build APIs
Facebook making breaking changes does piss people off. It's interesting that it doesn't kill the apps. I can't remember any single change Facebook have made - possibly just because tere's so many - but I do remember when twitter made everyone switch to OAuth. People complained about that kill date.
grogs··on Learning Is More Important Than Knowing
Hah, I guess I can start marketing myself a Senior Web Developer now - despite only one year's experience outside of university.
grogs··on When will I ever use math?
You don't need to memorise your times tables to do multiplication.

I seem to have learnt checkpoints within the times tables; e.g. when asked 76, I do 75+7. I know 10 and 5 times tables instantly, and adding 7 is trivial, so I clearly never bothered to actually learn the 6 times table.

Rote learning is generally inferior. Give a man a fish versus teach how to fish.

← PreviousPage 2 of 3Next →