HN user

MehdiEG

404 karma

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

Posts8
Comments81
View on HN

By "cents", you really mean "minor currency unit" I assume?

In British Pounds, it would be pennies for example.

The doc doesn't explain how the library deals with the various different minor units out there (I've been bitten too many times by code that assumes that all currencies have a minor unit and that 100 minor units = 1 major unit so I'm careful these days).

For example, what about currencies that have a minor unit that's not effectively used in practice or that don't have a minor unit at all (e.g. JPY)? Are the amount supposed to be expressed in this unused / non-existent minor unit?

What happens with currencies that use a subdivision other than 100 for their minor unit (e.g. KWD)? Will the calculations and formatting be correct?

Facebook at Work 10 years ago

Relevant piece of trivia: I went to a meetup at Facebook's London offices a few months back and heard a presentation from the FB @ Work lead. This may surprise some but FB @ Work was entirely built by their London team in London.

As you can imagine, they had to touch just about every part of the Facebook code base to make it happen. They still managed to pull it off despite being a "remote" team and unknown entity at first. Great to see some major engineering projects being owned here in the UK.

It's the LearnGaelic app created for BBC Scotland (or, more specifically for LearnGaelic, a partnership between the BBC and local organizations that promote the use of the Scottish Gaelic language): https://itunes.apple.com/gb/app/learngaelic-beginners-course...

It's a language-learning app for the Scottish Gaelic language, which includes both a full 30 hour course, including native speaker audio and role-plays, and several mini-games to test yourself.

It's a really beautiful app (thanks to the immensely talented illustrator Julie-Anne Graham who worked with us on this). A lot of time and effort was also spent on the instructional design side of it, making it really easy for complete beginners to acquire a solid basic fluency in Scottish Gaelic. I'd highly recommend it to anyone interested in the language (it's completely free).

The best thing about this app though is the invisible part: it wasn't built as a one-off app with hardcoded content. I won't go into the details but here is for example an Irish Gaelic version of it (with more screenshots): https://itunes.apple.com/us/app/learn-irish-gaelic-buntus/id...

(and anyone interested in the Irish language should give it a try :) )

I didn't have to do anything for the Irish version of the app despite the fact that it's got completely different content: different graphics, text, audio, game questions and lesson structure. The content team (instructional designer, illustrator, translator, proof-reader, audio producer) worked on putting together the content for that other app. When the content was ready, all I had to do was hit "Build". Same codebase - two completely different apps.

No - I've never worked with Xamarin (although I'll be looking at it in the coming days / weeks for a personal project - it looks quite sweet now). But I've got loads of experience with both .NET and Objective-C / Cocoa.

Most of my experience has been on the .NET platform and primarily on the backend / distributed systems side of things.

However, between 2010 and 2013, I was co-founder and CTO of a tech startup where our main product was a fairly sophisticated native iOS app. Being a bootstrapped startup, I had to do all the tech work myself. So I got a lot of experience with Objective-C / Cocoa that way. On the back of that, I got a contract to develop a native iPad app for the BBC, providing me with some additional experience building an app for an external client.

When I landed on the job market in January last year, I was therefore happy to take either an iOS contract or a .NET one.

I ended up taking a .NET contract. And to be completely honest, large-scale software systems / distributed systems is really where my heart lies. So I'm now pitching myself as a .NET developer only as this is the type of role I'm most keen on.

I'd actually be really happy to take on a role that uses another stack as well. But as a contractor, it's not really realistic to expect a client to pay you to learn a new language / stack :)

My anecdotal evidence: tried it when I was looking for my first contracting gig in Jan 2014. Got one serious lead (short-term contract for native iOS app development with immediate start required and a very tight deadline).

Initial discussion by email went well. Moved onto a telephone conversation, which also went well. Although the deadline was tight, the project appeared to be well-managed and they seemed to know what they were doing. Unfortunately, the person on the phone appeared to be absolutely horrified upon hearing my daily rate (which was the standard daily rate for iOS development in London at the time – I wasn’t trying to take the piss). I followed up by email highlighting my experience and track record in the specific field they were targeting as well as the value I would bring to the project but never heard anything back.

I got an excellent offer from a person in my own network a few days later so I didn’t give the HN thread another try.

Incidentally, I’m now looking for my next gig. Anyone looking for a talented Lead .NET developer / Architect in London (UK), with both startup and Fortune 100 experience, feel free to contact me: http://mehdi.me

This is the sort of "startup" that I've seen commonly done by self-proclaimed "serial entrepreneurs".

Hire a developer for next-to-nothing / hour in the Philipines, India or China. Get them to build a quick-and-dirty scraping tool that's focused on a specific industry. Then try to flog it to slightly shady businesses. Try to stay under the radar for as long as you can and make as much money as you can while you're there. Sooner or later, you'll get busted and shut down - no big loss to you.

The people I've seen do that typically have a dozen or so of such "startup" going at any one time and they just keep shutting one down to start another.

This is not the sort of startup that will get you the fame and respect of the tech startup world. But it can certainly make you money if you have the "right" mindset. Just don't bet the farm on it.

I was on the other side of this equation a couple of years ago - co-founder of a London-based tech startup that had just finished an accelerator and raised a £100k round of seed funding (we didn't make it in the end in case you're wondering). Here are a few tips from what we learned.

1) The valuation is completely and utterly meaningless at this stage of the company. Unless the company is already generating a profit, it's currently worth exactly $0. So forget about the valuation when making this decision.

In addition, as you mentioned in your description, this valuation is literally a completely random number they pulled out of thin air.

Just for your reference, London-based startups that raise a seed round after having completed an accelerator are typically valued in the region of £1m. They would have to be quite exceptional to be valued at $3-4m (and maybe they are - up to you to find out).

2) I'm no expert on what's a reasonably equity share for a first employee. 2% sounds OK. But in any case, those 2% are worth exactly nothing right now. And at the stage they're at, their chances of success are close to non-existant (just like every other startup at this stage). So those 2% will most likely never be worth anything. Take those 2% as the icing on the cake, not as a main decision factor.

3) The £1.4k / month salary figure is a bit odd. Salaries in the UK are usually expressed as a gross annual figure, not as a monthly figure (or at least that how I've always seen them expressed). So do they mean a salary of £16.8k gross or £20.3k gross?

In any case, since it's a remote position, you're the only one who knows whether this is a reasonable offer or not. In the UK, that would be far, far too low for an intermediate-senior level developer. Even in the parts of the UK that have the lowest salaries (e.g. Northern Ireland), £17k would be borderline taking the piss for a graduate-level position, let alone senior.

But then again, only you knows what you could expect to earn where you live.

4) What accelerator did they go through? The purpose of an accelerator is mainly to "get the badge", i.e. get the credibility associated with the accelerator and get accepted into the "inner circle" of entrepreneurs and investors in the region. This is what makes a huge difference to the startup's ability to raise future funding and get the right introductions.

As a result, the only accelerators that are worth going through and provide real value are the top-ones, namely: YC, 500 Startups and TechStars. So are they part of the inner circle or did they just go through a small, fairly unknown local accelerator?

5) Since they haven't yet raised seed round, they probably don't yet have a formal board of directors. So failing this, who are their "official" advisors? Do they have any high-profile, successful entrepreneur helping them out (i.e. someone who's been there before)? Ask to have a chat with one of them. If their advisors are really willing to help them and are not just advisors on paper, they'll be very happy to have a chat with a prospective employee #1. Be blunt with them - ask them what they think of the company, of the founders and of their future prospects.

6) Finally, I realise that the above might come across as quite negative but this isn't my intention. There's plenty of upside with being employee #1 at a tech startup, even when the salary is questionable.

- It's common in early stage startups to be very relaxed and flexible when it comes to working hours, days off, etc. especially given the very low salary they're offering. Have a honest chat with them about this.

- If you're genuinely interested in startups, there's not better way to learn the ropes than to be employee #1 at a tech startups. You'll learn almost as much as you would being a founder and you'll be paid for it!

- Although your 2% will probably never be worth anything, there is a good chance that the company will grow enough to see its team reach a sizeable size. As employee #1, you'll be first in line to move up the chain of command and to be given a lot of responsibilities. You'll probably learn more in two years in a startup than you would have in 10 years at a large corporation. That certainly won't hurt your CV.

All of the above however is conditional on the founders being completely open and honest with you and on you having an excellent relationship with them. So up to you to see whether you and the founders "clicked" and whether they're going to be open with you or keep you at arm's length.

I'd be interested to hear about this as well. The £40k - £60k range is indeed what you can expect to get as an intermediate to senior software developer in London (add maybe another £10k to £20k in the financial industry at a push). Which I find ridiculously low given the cost of living in London. And you haven't got a hope of being able to buy any decent family home in London on this salary.

Contracting rates, at £400 - £600 / day are more in line with the living costs.

But it's quite sad to see that living and property costs in London have become so insane that even senior software developers either have to contract or end up earning just about enough to pay the rent but not much more.

On the other side, a good seed round for an early stage startup in London is £200k. Maybe £300k if you're the hottest startup in town and work incredibly hard on your round. You're not going to be able to pay your employees very much at all with so little funding.

To me, the numbers just don't add up. I don't see how London can build a sustainable startup community. Or even tech community to be honest.

Start-up NY 12 years ago

This is typical of government-run or funded programs. The problem is that the word "startup" doesn't have a universally agreed upon definition and different people have radically different understanding of what a "startup" is.

When a governemnt official talks about "startups" (which they typically spell "start-ups" with an hyphen), they almost always mean "recently-created small business". And they generally think that the primary focus of a "start-up" is to generate a profit by selling a product or a service and to hire employees as soon as they can. I.e. when they say "start-up", what they really mean is: "traditional small business".

When people in the tech startup world talk about "startups", they generally mean something very different. PG's definition of a startup [1] is probably what best matches what most people in the startup world mean by "startup". And that's radically different from a traditional small business.

It's not to say that tech startups are better or worse than traditional small businesses. They're simply different, they work in very different ways, have very different life cycles, needs and purposes and need very different kinds of support.

Unfortunately, few government people understand the difference between a small businesses and a tech startups. In fact, very few people in general even know there is a difference. Tech startups are a very weird kind of business that most people, even in the business world, don't really get. Which always leads to this confusion.

Governments launch these support programs aimed at "start-ups", which are in fact aimed at traditional small businesses. Tech startup people get confused by the use of the word "start-up" and assume that these programs are aimed at tech startups.

Tech startup people then complain about the non-sensical requirements of these programs, poor advice given to entrepreneurs and completely inadequate support provided. Which was to be expected since, despite their name, these programs aren't aimed at tech startups at all.

[1] http://www.paulgraham.com/growth.html

You can certainly ask these questions. In fact, as a startup co-founder myself, I would find a prospective employee asking these questions to be a very good sign as it demonstrates that:

1) You understand what a startup is and how it works. Most people don't. It's easy to forget it when you've been in the startup world for a while but tech startups are a very strange type of business that most people simply don't understand. Angel / VC funding, valuation, runway and exits are completely foreign concepts to most people. If you demonstrate that you understand what a startup is and yet still want to work for one, then you're more likely to be the type of person who will stick around even when times are rough.

2) You're actually interested.

And if I was to apply for a job at a startup, I would expect the founders to be completely transparent about these things. Something's fishy if they try to change the subject.

Same problem here and I know quite a few people who've had these issues as well.

iMessage is a huge mess - even if you're still using your iPhone. Back in December, when I was still on iPhone, I went in a month-long trip abroad. Since data roaming still costs a fortune, I had data switched off most of the time. I'd just connect on wifi whenever possible and occasionally switched on the data connection when I really needed to get online while on the go.

Yet, despite the fact that I was roaming and that I had my data connection switched off, most of the text messages that my iOS-using contacts sent me were sent via iMessage instead of plain SMS. Which meant that I'd only get their message when I went back online, hours and sometimes days later.

You mentioned EventVue's excellent post-mortem already. But for anyone thinking of building a startup in that space, Josh Fraser (EventVue's co-founder)'s follow-up post is also a mandatory read: http://www.onlineaspect.com/2010/10/26/a-few-words-about-eve... - since he posted that follow-up on his own blog, it would be worth linking both in the article.

And if anyone is thinking of building something in the event space, read both of these posts. And then read them again. Josh is 100% spot-on. Absolutely nothing has changed in this industry since he wrote this (the events industry moves at a glacial pace).

I hadn't actually heard of Pelican until now but it looks like Ghost and Pelican aren't really comparable - they're two very different approaches to a blogging platform. Pelican looks more comparable to Jekyll.

Personally I've just moved to Ghost and I have to say that I love it. I wrote a longish post [1] on all the blogging platforms I've tried and how Ghost compares. The post also explains why I didn't go with something like Jekyll. Check it out, it might help.

[1] http://mehdi.me/ghost-io-the-first-blogging-platform-that-ma...

At that point, I think that Blackberry is suffering a lot from their now disastrous brand image. It's not that Blackberry isn't a real alternative. It's that most people aren't even considering Blackberry at all anymore.

The feeling I get is that it occurs to very few people that Blackberry could even be an alternative. I doubt that many people would notice if they went under tomorrow.

SEEKING WORK - Based in London, UK. Happy to work either on-site or remotely.

I'm a full-stack developer with a sweet spot for back-end work and distributed systems. Available for contract work from the 8 Jan. Happy to meet for a face-to-face chat if you're in London. Email in profile.

My strongest technical expertise currently lies with the .NET / Windows stack (C# 5, .NET 4.5, ASP.NET MVC 4, Razor, TPL, async / await, SQL Server 2012, PowerShell, RabbitMQ) and the iOS / Cocoa stack (Objective-C, UIKit, Core Data, Core Animation, AFNetworking).

I have also worked with a range of other languages and technology stacks, including Python, Java and C++ on Windows, OS X and Linux, have strong fundamental knowledge of software engineering principles and am able to get up-to-speed very quickly on other stacks.

A bit more about me:

In the 10 years since I graduated with an MSc in software engineering from one of France’s leading engineering college, I’ve been held positions in several industries, including as a researcher in an academic research center, a senior software developer in one of the world’s largest investment bank and a technical co-founder in a tech startup that attracted investment from several of Europe’s top-tier angel investors.

I’ve worked both independently and as part of a team, including distributed teams. I’ve also hired and managed contractors.

I’ve designed and implemented several large-scale distributed software systems. In all the positions I’ve held, I’ve been involved in the full life-cycle of the project, from requirement gathering, initial design and implementation through to deployment and production support.

In my most recent role as technical co-founder of a funded tech startup, I’ve been in charge of the entire technology stack of the business, including system architecture, software development, sysadmin / DevOps, production issue troubleshooting and customer support. I’ve also been involved in all other aspects of the business, including business planing, product management and fund raising.

This experience has provided me with a breadth of knowledge and expertise, both on the technical and on the business side, rarely seen in a software engineer. It also allowed me to realise that I much prefer working on crafting great software than on writing business plans or networking with potential investors. Not that I believed otherwise before I started.

I’m now looking to take on a role where I can focus on the technical side. While my area of predilection lies in back-end work, as a full-stack software engineer I can jump in at any level of the software stack and take ownership of an entire project or feature, from back-end to front-end.

AFAIK RavenDB, which describes itself as a "2nd generation document database", does exactly what you describe. Whenever you run a query that's missing an index, it will automatically create a temporary "dynamic index" to service it. If it finds that this index is used a lot, it will automatically promote it to a permanent index. I haven't tried it yet however so can't comment on how well it works.

But yes, generally speaking, I'm also surprised to see that in 2013 we're creating our indexes manually. While there are of course applications where you really want to ensure that all the right indexes are created ahead of time, for most applications having indexes created automatically based on query patterns would seem like a much better solution.

Jolla 13 years ago

As far as I can see from a completely outsider perspective, the Maemo / Meego / Jolla team have always been severely under-resourced, have always been the underdog and have always deeply suffered from the political turmoil happening above their head while they were at Nokia.

One thing they have never been however is vaporware. They have always delivered. And what they've delivered, particularly with Meego, was superb. Meego was especially impressive given that in the last few months before its release, they had for all intent and purpose already been fired from Nokia. That they managed to pull together, keep working on it and release something of that caliber when they knew that Meego had no future at Nokia is pretty incredible.

It's obvious that Jolla is extremely unlikely to ever go mainstream. But that's not the point. They're clearly a team of talented, passionate and persistent hackers that can create products that manage to be delightful to use, open source and very hackable. That's why I find the lack of interest from the HN community, which is usually all over these type of projects, to be surprising.

Jolla 13 years ago

For those who are wondering why this is up on the front page: Jolla is launching their first handset tonight in Helsinki: http://www.digitaltrends.com/mobile/jolla-sailfish-os-phone-...

I always wondered why Jolla is getting so little love from HN. To me and from a geek / hacker point of view, Jolla is an awful lot more interesting than Android.

Anyone who's had the chance to own a Meego device knows how incredibly talented and passionate the team behind Jolla is. I'm really looking forward to see how the OS and apps feel on Jolla. The OS also appears to be a lot more open and hackable than Android (although the proof will be in the pudding so we'll see how it all pans out).

It's already been done. Get yourself an N9 (same hardware as the lumia 800) or an N950 (most beautiful phone hardware I've ever had the chance to use but hard to come by as only a few thousand units were produced) and install nitdroid.

The problem is that the OS and hardware really go hand in hand. Installing a completely different OS than the one the hardware was designed for often results in a disappointing device. The N950 running Meego for example is still to this day what I would consider the pinnacle of hardware and software engineering when it comes to smartphones. It looks gorgeous, it feels amazing - no other smartphone I've ever used (and I've used many) comes close.

But install Android on it and it suddenly looks and feels like an unsightly brick. The way android looks like, the UI gestures, the way Android is meant to be used in general is different than Meego and it doesn't fit the hardware at all. It's loads of subtle and seemingly small details but the end result is a very unpleasant device.

It's worth putting this in context. Hetzner provides really beefy dedicated servers for ridiculously low prices [1].

You get great support (always had phone calls answered pretty much instantly and emails answered within a few minutes and all the techs I've dealt with knew what they were doing).

You can issue automated hardware resets and even get a remotely-controlled KVM attached to tweak the BIOS or regain access to your machine if you messed up the networking config (usually only takes a few minutes to get the KVM attached).

Orders for new hardware are also really fast - dealt with within the hour and often in under 15 minutes.

But there's no such thing as a free lunch. If you host at Hetnzer, you have to be aware of the reasons why they're so cheap, namely:

1) The servers are 100% unmanaged. They'll install new hardware for you if you ask them but everything else is up to you.

2) A lot of their hardware is desktop-grade, e.g. Intel Core i7 CPUs and non-ECC RAM. They do have some server-grade hardware in their high-end range however.

3) Their servers are in Germany. So you get quite a bit of latency if accessed from Asia or the West Coast of the US (see [2]).

4) They don't have any DDoS protection. In case of a DDoS, your server will get null-routed (but they tell you first). Again: 100% unmanaged. Up to you to deal with it. I've been lucky enough to not have to deal with a DDoS but my first port of call would probably be CloudFlare it it happened.

Provided that you're happy to do some sys admin, Hetzner is brilliant for a personal server, a CI server or even a prod server for a bootstrapped startup.

For literally next to nothing, you get a really powerful machine that will easily handle big traffic spikes without a breaking a sweat. And dedicated machine means that you get excellent and consistent CPU performance and disk I/O. If and when your startup takes off and you get funding, you can then choose between hiring a sys admin or moving to a more expensive host that offers a more managed setup.

[1] http://www.hetzner.de/en/hosting/produktmatrix/rootserver-pr...

[2] https://news.ycombinator.com/item?id=3898714

I researched this 3 years ago for our startups and couldn't find anything really good that lets me easily and securely share passwords on a need-to-know basis to team members and see who has access to what. Which baffles me because this is a problem that every single startup and small company must have.

In the end, we went for https://www.passpack.com/. They're clearly a small shop but it's been designed from the ground up for teams, they appear to care and know what they're doing when it comes to security (only have their word for it though obviously). Their web interface doesn't look like much but it's insanely fast and really well thought out, making inputing and looking for password really quick and easy. For some reason their pricing is ridiculously low - it costs next to nothing.

Two bad points: no native mobile app, making it a huge pain to look up password on the go + paranoid on the security front, which means that logging in is always a big pain. That unfortunately means that we were never able to convince anyone to really embrace it. Convenience and security is always a balancing act and Passpack is definitely leaning on the security side (understandable obviously). TBH, if they had a good native iOS app, I think it could make a difference for them. Instead of being this really annoying tool you're forced to use at work, they could become something that everyone uses as part of their daily personal life which would make it easier to get it adopted at work.

This is very much what I feel every single time I read a tech-related article in mainstream press. The cluelessness of most mainstream "tech journalists" is spectacular. I see no reason why reporting on other matters would be any better, which is quite scary.

In the same situation here. A couple of things that made a huge difference on the food and grocery front for us were:

- Ordering regular organic vegetable and meat boxes (we get a vegetable box once a week and meat once a fortnight). Find who does that in your area and give it a try. We use http://www.riverford.co.uk/ and I can't say enough good things about them.

- Online groceries. For the longest time, I thought people shopping for groceries online were weird. Now I understand. Give it a try - it will save you so much time and energy. The first shop is a bit of a pain but the subsequent ones are really quick as you can just go through what you bought previously and pick what you're running out of. In the UK, we tried ASDA (messed up every delivery - awful customer service), Tesco (can't remember why we don't use them anymore. Think they were neither really good nor really bad) and Ocado (absolutely wonderful in every respect. And, just as they say, not more expensive than ASDA or Tesco).

If you believe that success if proportional to the amount of time you dedicated to the project, brace yourself for a very cruel disappointment. This is just not how it works in startup-land, sorry :)

But don't obsess about trying to crack a big-bang launch. Big-bang launches are the ones we all hear about. But they're the exception rather than the rule. And they're not necessarily a good thing (remember Color?).

Far more startups become successful the old-fashioned way: by getting one customer at a time over weeks, months and years. In your case, you've got the ideal business for this: you've got a very niche product aimed at a fairly small, well-defined and reasonably easy-to-reach audience.

So forget about getting to the front page of HN, TechCrunch or other startup hipster places. Just go and get your customers: - contribute to discussion forums about windows development and have your product in your signature. Promote it there if allowed - reach out to relevant bloggers - attend local Windows developer meetups. Some have open-mic opportunities for local startups to promote themselves. - join BizSpark and see if Microsoft would be interested in helping - experiment with a few Google Adwords campaigns - ...