HNHacker News
TopNewBestAskShowJobs

MehdiEG

404 karma · joined June 29, 2011

French guy living in London. Full-stack software developer with a sweet spot for backend work and distributed systems. Smartphone geek since the Sendo X days. Co-founder of Talk Irish and Shhmooze.

I also love eating cheese, baking cakes and urban exploration.

Blog: http://mehdi.me

Everything else: http://about.me/mehdime

submissionscomments
MehdiEG··on Contemporary dance performance about gender at European Rails Conference
There are two main reasons why people attend conferences.

For some people (typically execs, sales people, recruiters, PR people, consultants, freelance professionals, etc), conferences are mostly or entirely about networking. They don't attend the sessions or, when they do, it's because it's the only place in the venue where they can sit down and catch up on emails.

At larger events like Mobile World Congress, those who know how networking works don't even waste their time attending the main event. They have pre-arranged meetings with all the key people they want to meet. And when they're not in a pre-arranged meeting, they are at one of the unofficial fringe events or parties, which is where the real networking happens (and they have, of course, arranged to get an invitation to the key fringe events as the best networking events are often invite-only).

For others, and most software developers would fall in that category I guess, conferences are mostly about personal development. No, you won't hear anything at a conference that you wouldn't have been able to find online. But a good speaker will instill a sense of energy and enthusiasm that you would never get from reading an article or even watching a YouTube video.

Because you're away from your daily grind and because of the way the content is delivered (you have to sit through an entire session and listen - unlike an article, a book or a video, you can't stop half way through or skim it), you also think very differently and tend to be a lot more open-minded and receptive to new ideas. So you almost always end up learning things that wouldn't normally have bothered to even read about otherwise or that you wouldn't have properly understood.

Not to mention the fact that you're surrounded with people coming from very difference backgrounds and industries than those at your workplace. You'll often pick up very different ways of thinking that might very well change your approach to your work.

Personally, in the good old days when I was "just" a software developer and didn't care much about networking, I loved attending conferences. I would leave a good conference bursting with energy and enthusiasm. My best work would always happen after a conference. That's when you feel the most ready to tackle hard problems and don't mind powering through the statu-quo to make things better.

Try it - if you're passionate about your craft, chances are good conferences will make you a better craftsman.

MehdiEG··on iOS Development Tips If You're Just starting Out
One last tip that bit us hard: beware of universal apps (apps designed for both iPhone and iPad).

Once you've published your app as universal, there is no way back. You can't decide in a subsequent update to revert to an iPhone-only or iPad-only app - Apple won't let you.

So if you start with an iPhone app, and then put together an iPad version of the UI just to try out and publish it as a universal app, you'll be stuck with having to provide an iPad version of your app for the rest of times. Even if you realize that the iPad version isn't worth it for your app and that nobody uses it, you won't be able to discontinue it.

So think very carefully before flicking that switch.

MehdiEG··on [dead]
For a moment here, I thought I was reading The Onion :) Anyone knows who is this outsourcing company? They seem to be doing a decent enough job.
MehdiEG··on iOS Development Tips If You're Just starting Out
A surprisingly good list. Beyond the xib issue, which other have talked about, I would add a couple of points:

- If developing a trivial utility app you're expecting to release quickly, target iOS version N-1. Any user who is more that one major iOS version behind won't be the type of user who will download your app (or any app really).

If developing anything more ambitious, target the latest iOS version only and take full advantage its new APIs. By the time you're ready to go mainstream (a few iterations of the app under your belt, nailed your marketing strategy, etc), there will have been at least one new major iOS version released and any time and effort you spent writing code for older iOS versions will have been wasted.

(talking from experience here :)

- Before writing a single line of code, sort out your logging. At the very least, use a handful of macros like [0] to print the class, message name and line number when logging and to exclude debug log statements from release builds. Or check out something like CocoaLumberjack (haven't tried myself yet but writing this made me realize I need to sort out my own logging system so will give it a shot).

[0] http://stackoverflow.com/questions/969130/how-to-print-out-t...

MehdiEG··on Introducing Graph Search
Completely agree on that. That's actually the very first Facebook feature that got me excited and that might make me go back to Facebook.

This is also the obvious next step for social networks and one that quite a few startups (including ourselves) have been working on for the past couple of years under the "people discovery" banner. Can't wait to see this in action.

MehdiEG··on The greatest Google Mail feature you may not be using
Like many, it's probably one of the first "feature" I bumped into with Gmail and that still annoys the hell out of me years later.
MehdiEG··on Nokia Unveils a Maps Service
Wow, this is going to be one spectacular flop.

Or how to turn something ridiculously simple (go to here.com to get Nokia Maps on your iPhone, since this is probably what Nokia is aiming at here) into an incomprehensible buzzword soup.

MehdiEG··on Show HN: RewindHN - Go back in Hacker News history
Very nice. I actually thought of implementing this a few months ago but a quick Google search brought up http://hackerslide.com/ (also open source), which works fine as well.
MehdiEG··on Career Day - A parent introduces programming at her son's school
Instinctive understanding of programming constructs can vary widely from person to person. I never had any problems understanding loops - it always seemed obvious to me. I was happily coding away in Turbo Pascal at the age of 8 with nobody but a big fat programming book to help me.

On the other side, I was pair-programming with a friend during an intro to programming course in my first year of college and he just couldn't get his head around loops. He was smart and incredibly hard-working (and went on to complete two MSc in parallel). But loops, the difference between a while loop and a for loop, and programming constructs in general just didn't make sense to him. He had to work really hard to figure out how to use them.

I'm sure there have been studies that explain this but I should get back to now rather than start doing some academic research....

MehdiEG··on Letterpress by Loren Brichter of Atebits
I haven't tried the game yet but at first sight, it seems to be heavily inspired by Meego Harmattan / Symbian Belle - a beautifully designed UI (at least in its Meego implementation) that unfortunately never went anywhere due to Nokia killing both Meego and Symbian before it was even released.
MehdiEG··on Streak brings CRM to the inbox with Google Cloud Platform
What has been your experience with the Prediction API?

It the one part of Google's offering I'm thinking of using at the moment to experiment with recommendation features without having to spend too much time implementing and scaling the algorithms ourselves. The post only briefly alludes to it but doesn't go in any details.

MehdiEG··on HoursForEquity matches startups and job seekers
If you guys are actually real, then here is why my first impression was this was a piss-take / joke project:

- The presentation video is slick and has obviously been professionally produced. First impression of the home page on the other side is that it's a very quick & dirty job based on some generic website template. At first sight, it also looks like the site is just the home page and nothing else (tried to fill in the registration form on the home page and it didn't do anything).

So first impression is that you've spent an awful lot of time, energy and money into creating a fancy presentation video but haven't spent any time or resources into the product itself. Which is strange and doesn't give a great deal of confidence.

- The video is essentially a collection of every startup cliché you can think of: "we're creating a social network", "the possibilities are endless", statements about how your product is somehow going to revolutionise local communities, which, to be honest, sound like your typical pure bullshit PR-speak, etc. All filmed in the most stereotypical way I can think of. I'm sorry but my gut feelings here were that none of this was real or genuine.

And then there's those really weird clips of the founder playing guitar or browsing records in a record shop that don't really make any sense. I can only interpret them as taking the piss out of the stereotypical startup founder, who sees himself as a rock star and spends his time faffing around, bullshiting about how he's building the next Facebook, while expecting people to work for him for free / equity.

If this is a real project, then the way to improve this would simply be to focus completely on the product. At the stage you're at, the product is the one and only thing that matters. Fancy videos and big promises only come when you have a product that matches and delivers. Otherwise, it comes across as bullshit. (my personal opinion obviously - others may differ).

MehdiEG··on HoursForEquity matches startups and job seekers
The video on the home page is surprisingly polished and professionally produced but the script is an obvious piss-take. The home page on the other side is a quick & dirty job - looks like it's been thrown together in a couple of hours using some free website template.

I vote for an end-of-year project by media students made for fun.

MehdiEG··on Ask HN: Just ordered my first Mac- what apps should I know about?
BTW, I hope that you upgraded the RAM in the Air to 8GB if you intend to run a VM on it. Trying to work on both Mac OS X and a VM on 4GB is quickly going to get very painful.

TBH, if I was going to buy a new Mac today, I'd go for the new MacBook Pro, purely for being able to have 16GB of RAM. Even with 8GB, my Mac still regularly struggles to keep going when I've got my VM up together with a web browser and XCode (and let's not even talk about Photoshop) on the Mac side.

MehdiEG··on Ask HN: Just ordered my first Mac- what apps should I know about?
Interesting - I haven't actually reviewed my Mac's config in a while - I might pick up a few goodies in those lists myself. For what it's worth, this is what I would automatically install on any new Mac:

- iStat Menus: RAM, network and CPU usage right in your menu bar. Ridiculously useful.

- Video player: VLC

- FTP: CyberDuck. Desperately slow to launch and not a big fan of the UI but it's free, it works and I use FTP rarely enough to never have bothered looking for something better.

- gfxCardStatus - not necessarily a must-have but quite handy to see which app is causing your Mac to switch to the battery-sucking discrete GPU.

- Email: MailPlane (gmail / google apps only). I have to say that I've never found what I would consider to be a great email client for my taste on either Mac or Windows. So these days, I stick with Gmail's web interface (which I'm not a big fan of either but there's no native app that I find any better).

- Text Editor: TextWrangler. I still prefer Notepad++ though (in part because TextWrangler, like so many apps on Mac OS X, is so slow to launch).

- DaisyDisk - for later when you'll inevitably run out of disk space.

- Parallels Desktop for Windows + Remote Desktop Connection to manage Windows servers. I wish there was a better RDP client and a decent SSMS-like SQL Server client.

- Apps that used to be must-have but that I no longer use: HandBrake (DVD ripping), LiquidCD (CD / DVD burning), NetNewsWire (RSS)

That's about it. Random stuff that you might or might not need: Acorn (simple, cheap image editor), CoconutBattery, Hues (standalone color picker), iStumbler (Max OS X's NetStumbler), MacHg (Mercurial client). You can try Sparrow for email too.

That's it - have surprisingly few apps actually.

MehdiEG··on Ask HN: How do you make sure a B&B has wifi in the room?
I find it reasonably priced to be honest given how handy this is what I use it for. 3GB goes a long way actually. What would you find reasonable?
MehdiEG··on Ask HN: How do you make sure a B&B has wifi in the room?
Running a couple of online businesses that require us to have online access wherever we are (it's always when you decide to go away for a week that the site goes down or an army of spammers targets your member), this is a problem we constantly run into whenever we go away, be in on holidays or for business.

There's nothing like that yet as far as I know. Most hotels and B&B will indicate whether they've got wifi access. Typically, if wifi isn't mentioned, it means no wifi.

But knowing that wifi is available isn't actually all that helpful. You'll often find that wifi is available but costs more than the room itself. Or, even more often, it just doesn't work or is unusably slow.

So we always try to get a place with wifi but also always carry an unlocked MiFi with us. In the UK, you can get one for £50 on PAYG on Three and unlock it for a few quids. PAYG data topups in the UK on Three are reasonably priced (£15 for 3GB of data). When we go abroad, we first check this wiki to find local operators with decent PAYG data plans and we buy a local SIM card as soon as we land: http://prepaidwithdata.wikia.com/wiki/Prepaid_SIM_with_data

It's a hassle but if you really need internet access, that's the only option at the moment I'm afraid. There is definitely a niche for a way to identify hotels and B&B with free / reasonably priced and reliable wifi connection (and also cafés while we're at it - it's an incredible pain to find café with working wifi).

MehdiEG··on Flame is Lame
It's clearly linkbait but it is actually nicely written and informative so I'll give them a pass on this one.
MehdiEG··on Device turns Android phone into computer. A reason to make HTML 5 apps?
To be honest, who cares about the hardware design here? This is very obviously a fake (or a cheap Chinese ripoff). Outside of China, nobody in their right mind would release something that's such an obviously MacBook Air clone.

What's interesting here isn't the actual hardware (which either doesn't exist or is cheap crap), it's the concept.

MehdiEG··on Device turns Android phone into computer. A reason to make HTML 5 apps?
No.

Isn't it ironic how just a few hours after somebody posted the wikipedia article on Betteridge's Law of Headlines (http://news.ycombinator.com/item?id=4092880), two of such headlines make the top 2 of HN :)

More on topic, this looks like Palm Foleo re-invented (http://en.wikipedia.org/wiki/Palm_Foleo). I always found the Foleo concept great so I wouldn't mind seeing another attempt. That said, the success of iPad and other tablets is going to make this device even more niche than the Foleo would have been. It'll be a tough sell.

MehdiEG··on MsgPack vs. JSON: Cut your client-server exchange traffic by 50%
That's what my whole comment was all about. Automatic generation of strongly-typed classes. Code completion. Compile-time type checking. Well-defined and strongly-typed API contract. Anything you want me to clarify?
MehdiEG··on What do you think of my most recent personal project?
iPoo (http://www.ipoonow.com/) meet QR codes. Nice.
MehdiEG··on MsgPack vs. JSON: Cut your client-server exchange traffic by 50%
This sort of comparison is fairly meaningless in many real-world situations as other have already pointed out. You'll find that with most payloads, compressed JSON will actually be significantly smaller than non-compressed MsgPack (or Thrift / Protocol Buffer / Other Binary Serialisation Format).

And compressed MsgPack (or Thrift / Protocol Buffer / Other Binary Serialisation Format) will often be roughly the same size as compressed JSON.

Of course, there's also the performance benefit of faster serialisation / deserialization, but again, it won't make much of a difference in many real-world situations.

That said, our API supports both JSON and Google Protocol Buffer (using standard content negotiation via HTTP headers) and we actually use it with Google Protocol Buffer from our mobile app. It's not so much for the message size benefit (which is non-existent in practice) but more for development convenience (and the potentially slightly better performance is an added benefit we get for free).

We've got one .proto file containing the definition of all the messages our API returns / accepts. Whenever we make a change to it and click Save, the Visual Studio Protobuf plugin we use kicks in and automatically generates / updates the strongly-typed C# classes for all the API messages.

On the XCode side, a simple Cmd-B causes a 2-liner build script we wrote to copy across the latest .proto file for the API and automatically generate strongly-typed Objective-C classes for all our API message in a couple of seconds. Beautifully simple.

It then lets us code against strongly typed classes and take advantage of code completion and compile-time type checks instead of working against arrays or dictionaries. It also means that there's no magic or automatic type guessing going on that inevitably end up breaking in all sort of weird manners - our API contract is well-defined and strongly-typed.

And while the API design is still in flux, working against strongly-typed classes means that a simple compile will tell us whenever a change we made to an API message causes existing code to break.

Last but not least, if we ever need to check what the API returns in a human-readable form, all we have to do is call the API with Accept: application/json and we can troubleshot things from there.

It all makes working with the API from both sides really quick and easy and making changes to the messages trivial. It's certainly possible to have a nice workflow with JSON as well but I have to say that I quite like what we ended up with with Protocol Buffers

MehdiEG··on Password leaks bigger than first thought
"And one amusing detail – although eHarmony implores its users to use strong passwords including both upper and lower case letters, it saves the passwords in all upper case"

This is truly beautiful - made my day :)

MehdiEG··on Rms has his bag stolen in Argentina
That sucks. I would have hoped that the university / event organisers would have provided any help possible to at least get his paperwork back in order though. The article makes it sound like he was pretty much left on his own devices after the theft.
MehdiEG··on Would Steve Jobs have applied to Y Combinator?
I admit that I'm not intimately familiar with YC's and pg's preaching but my impression of what I've read and seen from pg is that he is very insistent on startups having a solid business model and on them focusing on customer acquisition. And I don't remember having ever heard pg advocate quick exits. This is at odds with the assumptions you've based your post on. I might be wrong though - happy to get corrected by YC alumni.

As for "changing the world", this is an expression that's as meaningless as it gets. Of course everybody wants to change the world, why wouldn't you? And since everybody lives in their own world anyway, in a way, everybody changes the world. For example, I personally find Facebook to be one of the most useless product I've ever used. I genuinely wouldn't notice if Facebook disappeared tomorrow. On the other side, for my deaf teenage cousin, Facebook literally changed his world. He went from being the weirdo disabled boy in the corner of the room that nobody would talk to to being a perfectly normal teenager communicating on Facebook like any other teenager.

So the YC startups you're talking about might not have changed your world but you can be sure that they've changed quite a few other people's world. Arguably, Steve Jobs, who you cite in example, has hardly changed the world for most people. Had he not be there, computers and smartphone would have been there anyway and would have more or less done what they do today (and I'm saying this as a big admirer of Apple who has discovered computing on a Mac SE and is typing this post on a MacBook Pro).

When it comes to bigger goals like ending wars or poverty, fixing the global warming problem or space exploration, it would be incredibly naive to believe that you can tackle the problem as a nobody (i.e. as a young, first time entrepreneur with no cash and no network).

Elon Musk didn't start with a crazy-big-truly-change-the-world project. He, you know, did Paypal first. Just like what the Stripe guys (a YC startup) are doing. Bill Gates didn't start by tackling the issue of poverty, illnesses and illiteracy in Africa. He started by writing an interpreter. You have to start somewhere and this somewhere is generally relatively small but gives you what yo need (knowledge, experience, network, cash) to follow up with something bigger afterwards. That's my understanding of what YC is all about.

MehdiEG··on I must be crazy
What freaks you out? He makes $100 - $150 a day from app sales, which gives him a comfortable financial cushion. App sales put aside, he reckons that he can keep going for several months on savings alone. And he reckons that, should everything go wrong, he'll have no problem picking up contract work, which I have no problem to believe if he's even just a half-decent developer.

No big or crazy risk-taking here. It's always scary of course to go off on your own when you've spent your entire life in the comfortable employee universe so best of luck to the OP!

MehdiEG··on Bookmarklet to see YC / Reddit thread of any URL
Neat but clicking Reaction on http://see-reaction.appspot.com/index.html prompts me to submit the story to HN when it's obviously already been submitted.
MehdiEG··on LinkedIn’s iOS app transmits names, emails, and calendar notes, in plain text
I should go back and take a look at the exact wording of the Apple App Store rules but I never had problems submitting apps that use SSL.

There's one step of the submission process that asks about the use of cryptography and I've always picked the option that doesn't require submitting any additional paperwork - never had problems. I forgot the exact wording but I always worked under the assumption that SSL isn't what Apple is talking about when they ask about the use of cryptography.

If developers had to file paperwork with various governments just to use SSL in their app, then simply using one of the many third party APIs that require SSL (e.g. the Foursquare API) or even just embedding a web browser view that may end up loading an https URL would require the developer to go through the paperwork route to get their app approved. That wouldn't make sense.

MehdiEG··on LinkedIn’s iOS app transmits names, emails, and calendar notes, in plain text
Putting aside the issue that much of this data shouldn't have been sent anywhere in the first place, I'll never understand why, in 2012, SSL is still not used by default when sending any sensitive or private data across the network.

It's even more puzzling when we're talking about background data upload when the potential SSL handshake latency isn't going to pose any UX issue. This has boggled my mind for years actually. Why?

← PreviousPage 2 of 3Next →