HNHacker News
TopNewBestAskShowJobs

babebridou

498 karma · joined April 25, 2010

Apps
submissionscomments
babebridou··on New Arrested Development will appear exclusively on Netflix Streaming
When a particular product hits home, people feel robbed for not being able to buy it on the spot for any reason, especially when shipping and manufacturing costs are close to zero. Indeed, it really is the other way around, and it will never be otherwise, but it doesn't change the fact that some of your paying customers will be dissatisfied by your service to the point that they will take action to bypass your own faulty distribution channel, and they will even pay to be able to do that.

Heck, let's drop the masks, the majority of your paying customers even bought their very first computer just to be able to do that over the past decade.

I'm not advocating piracy, I'm explaining why it exists in the first place. When the pirated product is available immediately instead of months/years later, and with better features than the legit one, it's foolish to expect even paying fans not to pirate things nor look into piracy as a distribution channel. This is a challenge that content distributors need to deal with, one way or another.

Saying that people shouldn't pirate digital goods because it's illegal is all nice and well, but is this even enforceable? It's my own humble belief that it's not, not with the current state of the art, and that yelling at piracy is like yelling at windmills. Just deal with it and improve your product distribution in every possible way so that piracy is not exactly a better option.

It works, Apple proved it, Steam proved it.

babebridou··on New Arrested Development will appear exclusively on Netflix Streaming
Who says anything about paying/not paying? The point is, if you're waiting for an official distribution outside of the US, 99% of the fan websites become complete spoilers.

You can't be a dedicated fan of a US show outside the US and thoroughly enjoy it without pirating it first (...and then, buy the DVD). The only other option is to only watch DVDs and never talk with anyone online about the show, for fear of spoilers.

Didn't they learn anything from the Phantom Menace fiasco? The movie was the first highly and universally anticipated movie since highspeed internet became available. It was released 5 months later in France. It was a total fiasco. Instant surge of piracy, a specific screener became widespread and the only way for Star Wars fan to "survive" a five-months online lockout from their passion. This event was the origin of worldwide releases of blockbusters by movie studios, and the reason why movies nowadays get translated/localized before they are released in their own countries.

babebridou··on Google releases full Android 4.0.1 source code, includes Honeycomb too
Sometimes when I'm in a bad mood, the API and online doc are not cutting it - I start wondering why it doesn't work the way I'd expect it to, and from there I have multiple options, from StackOverflow to Google Groups to ordering a book on Amazon.com, and this is the true productivity killer because of, you know, the internet.

The definitive and fastest answer will always come from reading and understanding the source code, as I don't have to hope that someone had the same problem I'm having and someone else had an answer, or that someone will reply to my question before I give up. Eclair, Froyo and Gingerbread sources were enough for 99% of my needs though, but there was always this shadow of doubt for Honeycomb-specific features...

For the most part, having the latest source readily available will greatly reduce the amount of open browser tabs, and for that I'm thankful :)

babebridou··on Video: Quantum Levitation
I'm trying to figure out some practical applications for frictionless movement and positioning of small, light and cold objects without changing the scale of the system, but each of my ideas implies some heating that would probably negate the phenomenon a bit too fast (ballistics for instance).

I can't resist posting one of youtube's comments on this last video: "so... you have created the worst paperweight ever"

babebridou··on Four months with Android (An iOS user's exploration)
The 3GS is from june 2009. The Atrix was unveiled in january 2011 and hit the market in april 2011. It was considered the top of the line phone in may 2011.

It's useless to compare overpriced flagship phones and say that android phones are as expensive as iPhones. It's just not true. It's like taking a high end desktop PC with the very latest hardware and comparing it to the price tag of the iMac and deduce that PCs are more expensive than Macs.

babebridou··on Four months with Android (An iOS user's exploration)
I paid 0.20€ for my Motorola Atrix, one month ago. It comes with the same data plan as the iPhone.

It was high-end last january.

babebridou··on Dear John Carmack.
> I don't even feel the need to save my progress when I play because I know rather just replay it next time.

As an amateur game designer, this sentence hits home like none other. This is the embodiment of the fine line between a short-lived game and one that will stay in history books. Quake, Doom, Duke Nukem 3D had it for me. Starcraft, Super Mario Bros or Super Street Fighter 2 Turbo had it for others. When you enjoy every single second and wish you could do it again the minute after, then you know you have a true immortal game in front of you.

One of my prominent design patterns when I try to work on games is to focus on very elementary satisfaction and a promess that doing it once more will still make the player smile. On FPS games for example, a cool and straightforward way to achieve that is to design levels so that they would work in all of single player, cooperative and deathmatch modes. Unfortunately, such good practices were lost in translation when we entered the third millenium and the era of in-game cinematics.

babebridou··on Wow.
Does it means the startup world has frozen? There is no way one can get any sort of news past Jobs' obituary. Meh, back to work. This is a great opportunity to play the "what would Steve Jobs do?" game and hack around our design specs today.
babebridou··on I Think Your App Should Be Free
Stay assured that people do care, by and large, for the creators, the inventors, the artists, those who truly provide for them with commodities and overall a better life, but the harsh truth is that there just isn't enough money for everyone, and when 99% of the money they pay for a product goes into the pocket of someone that has apparently nothing to do with that exact moment of enjoyment they just experienced, people just don't want to pay a dollar for a cent. There just isn't enough time for everyone either, so they won't spend thirty minutes figuring out how to pay the artist after listening to a 3 minutes song, or figuring out which is which between the legit app and the pirate clone so they can put their money in the right wallet.

We need to figure out fair solutions to these time & money issues in order to void the piracy problem and make devs and artists feel better. In the mean time, well... there are concerts, donations, advertisement, register-only services, drm... crappy stuff(1) compared to the real deal if you want my opinion (that of an independent android app dev), but eh, tough times.

(1)except concerts. Live music is awesome. Horribly expensive and probably really hard to setup, but extremely enjoyable.

babebridou··on I Think Your App Should Be Free
The author said in the comments:

"The point of the article is that making that choice for someone else is wrong."

It's my feeling that in this article at least, the author does not really care about the rights and wrong of copying, piracy, intellectual property, etc. He is scared by relatively few people on the internet being both lawmaker, judge, party and executioner when it comes to the monetization of a digital product, and the reason why he is scared is that these few people are not even potential customers.

babebridou··on Ask HN: What Android apps do you use?
I don't use that many apps - well, the usual I guess. in metro underground commutes I tend to rely on apps that only use minimal connectivity. The official twitter app for instance, works well.

To quickly preview t.co and bit.ly links without slowing down to a crawl I built and published a minimalist app called FairyPreview https://market.android.com/details?id=com.fairyteller.linkpr... that I can only recommend :-)

Otherwise, advanced task killer, ACV for comic book reading, AndroZip and Astro for file browsing. And Spotify.

babebridou··on Client asks for 100% uptime
Would a heavyweight client with nothing but static data and no network at all reach 100% uptime, from a contractual point of view? Even a wrist watch does not exactly guarantee 100% uptime.
babebridou··on Show HN: FairyPreview, fast previewing of minimized urls from other android apps
This is an app that I actually created in 2007, used every day ever since, and (finally!) decided to put on the market for free.
babebridou··on Centrifuge Volleyball - a fun Javascript game
It's a good idea and somewhat funny but I keep wondering every day how hard is it to implement keybinding changes in javascript (or rather, all browser based) games? WSAD is impossible to use for at least ~150 million internet users due to keyboard layout. I'm talking about people who have never even heard about QWERTY keyboards and much less seen one.
babebridou··on Vim Cheat Sheet - For Programmers By Programmers
This sheet does not achieve its specified goal. When using a tool, the question that always comes to mind until muscle memory kicks in is "how do I do this?" and not "What will pressing that key do?".

Think of it as a control settings in a console game menu: there are two ways to display the info, one is good design, the other is bad design.

Bad design: a list of buttons, and for each button the action. (ex: A = Shoot, B = Jump, C = Crouch...).

Why it's bad design: If you want to learn how to perform a given action, you need to parse the whole list to find the action, then look at the button, because there is no index. Likewise, if you want to change the button performing the action, you press the new button, scroll the list of choices, select the new action, press the previous button that was performing this new action, scroll the list of choices, select another action. One click, one scroll for each step.

Good design: list of actions, indexed in alphabetical order (or any order that makes sense in the context). (ex: Crouch = C, Jump = B, Shoot = A...)

Why it's good design? You can use the index to find the action quickly. Also, when changing the keys, just ask the game for a complete key remap and reply to each "press button for Jump", "press button for Shoot" etc with a single button press each time and no chance for a conflict.

A better design would be for this cheat sheet to display an indexed list of actions, and then the "motion" required to perform it - or a list of acceptable solutions. The problem with VIM as I see it is that it requires understanding an additional layer of abstraction: it's not "press A to Jump", but rather "press A to execute the action that is relevant to the mode that you're in: if grounded, jump and enter airborne mode, if airborne, jump and enter double jump mode, if in double jump mode, do nothing". Both do the same thing, but if what you're looking for is crossing a pit, the solution in both cases is simply to press A twice - except VIM is designed to be so powerful that there's no way to list actions without mentioning at least the possibility of side effects. On the good side, if you are proficient with VIM, plan things in advance and know exactly where you are compared to the pit, you can do a double jump backflip and shoot at the marker with a single keypress, and even add a numbered parameter to specify the number of bullets which can be a function of remaining ammo, distance to ammo bonus, number of enemies on screen and their toughness, etc. Sorry for the stupid metaphor, it kind of made sense while I was writing it but I can already feel bad karma coming my way :P

babebridou··on Microsoft UI has officially entered the realm of self-parody
There is a crusade against the filesystem in general. We should probably go all the way and design an OS that absolutely does not need the concept of files, extensions and directory trees, even for programmers, else we'll have to deal with this UI debate for god knows how long.

Disclaimer: I believe the best UI for a filesystem manager was Windows Explorer 98, the last iteration with perpetual, irrevocable and non exclusive root access, with Norton Commander as its only rival.

From the moment we cared about maintaining our system's safety from the user's "big fingers syndrome", it all went down (starting with hiding file extensions) to the atrocities we now have to deal with. And yes, I put Seven's Explorer in the same basket as Finder and the likes of Nautilus, mostly due to /that/ horrible folder scrolling bug that MS refuses to hotfix.

babebridou··on Solar-panel "trees" really are inferior
> There's no way that a tree array of panels that are half not even pointing at the sun will outperform a linear array of panels that are mostly pointing at the sun.

While this is so very true in the theoretical sense of the term, I gave this a very short thought, and there might be edge conditions that could indeed lead to "better power with tree-shaped panels" (1), now that I think about it. There is a term that you are (rightfully) neglecting: the size of the system, and incurred energy loss due to Joule Effect.

If the distance between panels arranged in a linear way is large, then it might be more efficient to place additional panels closer to the output circuit, maybe above it, in such a way that it doesn't overlap and yep, maybe even with a different orientation, just to optimize the distance between producer and consumer, and thus reduce resistance and energy losses. But that would probably only be valid for specific sets of distances, positions, hour of the day (seasons, voltage, quality of the conductor material...), but that's only because the studied system shifts to be more of that of an Energy Transmission System than that of an Energy Production System

(1) or sphere-shaped or pyramid-shaped or pokemon-shaped for that matter...

babebridou··on Warren Buffett: misleading Argument, left out the effect of corporate income tax
> Just send a check to: Gifts to the United States U.S.

I'm far (very far) from an expert, but wouldn't that be somewhat dangerous or akin to corruption to an extent? Could the balance of the US be saved with gifts from a few super rich people without anyone raising an eyebrow...?

babebridou··on Google's New Patents
With the exception that the pool is essentially made of bogus companies that never produced anything and never will.
babebridou··on A few days of programming on iOS and Android illustrates a vast difference.
What kind of graphics? - for charts on android, http://code.google.com/p/afreechart/ - for maths calculations, http://commons.apache.org/math/ - for opengl graphics on android, it's already a pain with all the fragmentation here. There's OpenglES10 (but no longer implemented on Xoom), OpenglES20 (2.2/2.3 and up, but no VBO support on 2.2), Renderscript (3.0 and up), JNI (if you want to program in C), MonoAndroid (for mono, you need to pay for that though)... - otherwise, just go with the official Canvas API http://developer.android.com/guide/topics/graphics/index.htm...
babebridou··on Mythbusters: Stored Procedures Edition
Why ditch anything?

Just go with both. MongoDB can't make your data live & evolve the way an RDBMS can. You can't inject intelligence in your noSQL database, but you can sure extract data, a lot of it, a ton of it, with as many concurrent clients you wish. If you can't find a use for a relational model in any project, then I'm not sure what to say. But if you can, maybe try a postgres & Mongo combo for the best of both worlds?

babebridou··on Mythbusters: Stored Procedures Edition
Not necessarily nonsense: figuratively, you can (and should in many cases!) be putting as much of the data as possible, as far away as possible from your code with divide and conquer to work on only a fraction of it.

But anyway, that's what indexes are for in RDBMS, so you still have a point, even figuratively :)

babebridou··on Mythbusters: Stored Procedures Edition
Number 3 is where the real money is. We had success with multiple schemas, using views and materialized views to partition everything we could, but both the good, the bad and the ugly in PLSQL come from the wonders of joining so it's always a very hard decision to make with high risk and high reward.
babebridou··on Mythbusters: Stored Procedures Edition
As the former lead dev on a rather large Oracle-based architecture, I feel obliged to chime in.

Some of this article is extremely true, a couple things are utter bullshit though.

I'll go with the bullshit first.

1) source control

Source control is mandatory, so you have to do it anyway. But for any Oracle architecture where there is actual PLSQL work beyond funky table functions, meaning triggers, jobs and their ilk, you need to keep around a large schema with enough consistent data, especially with all the issues one can have with the way Oracle optimizes the execution plan of its queries depending on the statistics of each table. You need this information when you develop, so you need amounts of data that approach the order of magnitude of the production system, which is potentially huge.

It's simply impossible for every developer to enjoy their own instance, unless each dev has his own server, and even then: there's far too much maintenance to be made on an active Oracle database, and once a certain scale in the schema has been reached it's practically impossible to maintain an acceptable level of performance on a frigging desktop, especially when your devs are doing more than just PL/SQL, but, also, you know, work on the other tiers.

So in the end, you have one dev instance, two at most, and you keep versioning of the code just for looks because unless your system is trivial (only reversible transactions), any procedure, job or trigger that is executed on a database will massively change it forever. So in the end if your business logic lies at least partly on PL/SQL code, older versions of sources are only kept as a trace, not for proper versioning.

Besides, there are so many encoding issues and your database is so critical that you can't even risk anyone commiting a file rogue-style because if the sql was edited with textpad, notepad, notepad++, created with touch, right click + new, saved as from toad or came from a copy-paste of an e-mail sent from an ipad, the encoding will be different and will mess up tons of stuff. Things like accents in code comments can be interpreted badly and "eat" the following line feed character, which in turns comments the next line, which can lead to ultimate data corruption if it concerns a piece of code that is invoked by a trigger.

This is a risk that you don't, ever, want to take. So your PL/SQL SVN server is only for the two/three people that are entitled to actually write the Patch. Don't leave anything to chance here. The rest of the devs follow the chain of command of writing something, testing on the dev server, crashing it and eventually ruining it, send their script by email or dropbox or whatever to the devs in charge of the patch, who then use SVN to version it properly.

2) Unit testing

Unit testing is cool and all, but if all it does is essentially compile scripts. You can only unit-test functions if they are isolated enough, and isolation is all relative when the code is in the database. Let's unit test a select table function: first you disable triggers on this table, then you insert test data, then you do your test, then you delete the inserted data, then you reactivate the triggers. Happy? No! Why? Because it will take me a week to write all the test case inserts & delete!

I'm very caricatural here, but this is what happens in real cases. Cases where the unit test is very hard, much, much harder to design than the code it's supposed to test itself, not because of bad logic or whatever, but because in the end, it's mostly data that's required, and sometimes a simple select unit test requires a metric ton of one-line table inserts and deletes, and there can be a factorial quantity of test cases for tables with more than a couple dozen columns. "Just peer review" is the sensible and agile way to do it. TDD is not.

The rest of the article is mostly spot on. I loved the power of PLSQL for this particular system (railway undertaking system). I lack distance still, but I have no idea how we would have handled it had the customer said "no oracle, use [insert NoSQL tech of your choice]". The kind of calculations that were required was: "okay this train here is 5mins late and that train there is 6mins late, we have 6 thousands concurrent wagons circulating in the system that need to be rerouted before any train, anywhere, leaves its station, just warn me asap if this incurs any delay in the deliveries of high priority merchandise within the week, but if possible, fix it automatically yourself".

babebridou··on An iOS Developer Takes on Android
It works pretty well... except for software input method (the other name for the touch keyboard).

A simple example: make a webview that scrolls down and ends with a textfield a couple screens below. Activate Hardware acceleration, scroll, touch the textfield, boom, the textfield remains below the keyboard so you don't see what you type. Deactivate hardware acceleration. Do the same test. Boom, the screen pans up and the textfield is visible.

Once you've done this on a xoom, try it on an iconia or whatever other tablet you have.

Enjoy the fun of Honeycomb hardware acceleration.

babebridou··on Ask HN: Should I go freelance? Right now?
Nah if you speak any European language you can land that kind of gig, just elsewhere in (Western)Europe. That won't pay the bills, though. In order to do these jobs you need to be near one of the bigger cities, where the cost of life is excruciatingly high, 2.5$ for an espresso, 10$ for a pint, 1250$ for a month in a 30m2 flat. Add to that between an hour and two of commute time every day...

About the tech, for that kind of money it's mostly Java, PHP and C++, with a bit of perl, Oracle PL/SQL. We're old fashioned :) but for the past few years C#, .NET, and javascript are making a splendid coming out, and there's always demand for ObjectiveC (iOS mostly).

Now don't take my words for truth about the tech on the market, I'm super biased by the company I've worked in and their customers. But in any case it's nothing compared to what you earn if you're good enough with Excel, Powerpoint and absolutely nothing else. The more tech you know, the less you bill is the rule of thumb at least in the French consulting business.

babebridou··on Ask HN: Should I go freelance? Right now?
In France we benefit from a system called "Entreprenarial Vacation" - anyone who spent 5 years in their company can ask to take a year off in order to start their own business. The company can accept or refuse. After 12 months, the employee can decide to leave the company for good (business works) or return to his former functions and keep his job/salary (business doesn't work, founder is not fit, crisis in the world- you name it).

I oversimplified it a bit of course, but basically you should check out if there are any system like this one in your country. I personally took this chance and I am freelance right now under these terms. I already had a contract ready to execute when I started, which helped tons.

Just one thing: expect up to 3 months delays in payments and expect administrative delays (at least three weeks, for me it was two months- don't ask) from the moment you have a bank backing you up until you can issue your first invoice: that's what it takes to incorporate a company. So worst case scenario is even if you start with a gig right away, you might have to eat all your saved up cash before seeing any money income.

Looking back at how it went for me, I would have rather started working on all the administrative details before leaving my previous company. Then again I'm talking about the French administration, I don't know the specifics in other countries.

babebridou··on Ask HN: Should I go freelance? Right now?
I don't know about Scandinavia, but the typical beginner consulting gig in Paris, France is 40-50€/h. More experienced are at 60-80€/hr, vets are ~100€/h and super experts are at 125€/hr & more. Do the maths. That's before taxes of course. Then realize out that EUR->USD history: from 1:1 to 1:1.5 in ten years, and meanwhile wages in Euros have been kept relatively constant.

You can't survive in Europe if you get paid in USD, these days.

babebridou··on How The Hell Is This My Fault?
To think a business can only survive if the savvy feel at ease is itself naive, though. Most people in the world are deliciously ignorant about the dangers of any activity. People still take hitchhikers for a ride, still cross the road without looking, still share their public details on Facebook for everyone to see, and still use Bed and Breakfast services, still get on one night stands with complete strangers.

Change is often a good thing, but I don't think they should make hasty "significant structural change" because it's clearly not what's needed right now. Subtle evolution is much better to improve trust.

babebridou··on A few days of programming on iOS and Android illustrates a vast difference.
My rule of thumb: - if you see "java.awt" or "javax.swing" in any package import, run away. - if you need to download a native library to run a hello world, run away too.

The rest is/should be fair game. Try to run a hello world on the device.

← PreviousPage 6 of 7Next →