Hacker Newsnew | past | comments | ask | show | jobs | submit | more thechangelog's commentslogin

It would be interesting to have a follow up mechanism to indicate how many requested permissions were actually required by apps. I suspect it would end up around the 50% mark.


What a fantastic comment. You've inspired me to research the evolution of virii, and their place in the world.


I'll help: The correct plural is "viruses".


Virus doesn't have a plural, but if it did it would be "virora".


http://dictionary.reference.com/help/faq/language/g63.html

What is the plural of virus?

Viruses. It is not viri, or (worse) virii. True, the word comes directly from Latin, but not all Latin words ending in -us have -i as their plural.

http://linuxmafia.com/~rick/faq/plural-of-virus.html

The plural of virus is neither viri nor virii, nor even vira nor virora. It is quite simply viruses, irrespective of context.


Yes, I'm aware of the arguments.

Suffice to say that I don't find "it doesn't fit comfortably in the mouth of an English speaker" to be a good basis on which to form conclusions about how Latin speakers would decline their vocabulary.


Isn't the question how English speakers should form plurals for their vocabulary, though? Nobody is arguing that you should use "viruses" as the plural when writing articles in Latin.

I mean, despite being Greek, I don't particularly object to the fact that most of the Greek loanwords in English fail to fully follow Greek grammar when people speak English. For example, phobias rather than phoboi or phobioi has become the accepted plural of phobia. Heck, people don't even decline my name properly when speaking to me, since English doesn't use the vocative case.


Wouldn't it just be "phobies", rather than "phoboi", since that's the plural of "phobos"?


In Latin, you mean?


Yes. Virus is a latin word.


And an English word as well. For which the plural is "viruses".


Thanks. Should have trusted autocorrect.


That's actually been the opposite of my experience. A year in, my inlaws still thank me for installing Chrome.


>> People try Facebook’s stuff all the time—just look at the adoption rates for their iPhone and iPad apps

An otherwise interesting article, but there is no iPad app.


This slip up does not make me confident that the author of this article has done their homework.


Thanks, fixed.


Can you point me towards a barcode scanner for iOS devices?


http://www.koamtac.com/ has a bluetooth scanner that can be accessed via the ExternalAccessory framework (so no crappy HID implementation that hides the keyboard). The build-quality of the hardware is a bit flaky IMHO and the UI on that thing is horrendous. Pairing it with an iphone means visiting two menus with abbreviated texts and bad english.

The SDK is definitely done by hardware-people too.

http://ipclineapro.com/ is much better but also significantly more expensive. It's a sleeve you put your iphone in. It has a cool SDK and the build-quality is very convincing. As this uses the dock connector, there's no pairing issues either.

What ever you do: If you want to publish that app in the app store, be prepared for another hurdle, because if you are using any of these devices, you are not only dealing with apple approval, but also with approval by the device maker.

And you'll sign NDAs with both Apple and the device maker.

In that regards, WindowsCE is much nicer. You buy the device, you buy Visual Studio, you develop. No need to ask anyone for permission.


Great info, thank you for the detailed response.


This is changing as of October 1, when FB will require all apps to be served over SSL. They've been warning devs for months that the change is coming.


That would be a great service. Bonus points for it being relevant beyond the United States.


there is one I know of[1] though I'm not sure they got out of the beta.

[1]http://www.iubenda.com/


Thank you for the mention, I'm the founder of iubenda. Any question is welcomed :)


Hmmm, I signed up for your service. At the end, it was saying there were 500+ people in line ahead of me. I could spam my social media network to get to the front of the line, for a service I had never used. That was a big turn off for me, so I went with other avenues.


The service is in private beta, we are simply not ready to welcome too many users, and I'm sorry for this. Nobody forces you to spam your social media network, you can simply wait :)


The author mentions always giving MongoDB its own server. Can anyone shed some light on that?


For production apps, afaik that's always been a rule of thumb for any kind of db, be it rdbms, nosql, etc.


SQLite all over the place – it's great having a super portable DB format for quick little hits.

There's nothing quite like sending a DB as an email attachment.


SQLite is so pervasive that I'm pretty sure everyone uses it at some point. It's in client applications, it's used by yum (the package manager found on CentOS/RHEL/Scientific Linux systems), it's part of many web applications, it's part of many spam filtering systems, it's part of Android (maybe iOS, too?), it's basically impossible to avoid it if you're a nerd.

Also, it's awesome.


SQLite is indeed built into iOS and Mac OS X as well. Core Data's store uses SQLite as an option (XML and Binary are the others), and it is accessible via third party frameworks like FMDB.


It's also built into Android.


Unfortunately, it's quite slow on Android. And make sure never to put your db on the sdcard, or else your whole phone becomes unusable while doing writes to the db.


SQLite is overall slow if you are writing item-by-item. Does not matter what platform you use. Write multiple items in single transaction. As well understand what you get and what you loose by writing all items in single transaction.


And iPhones, and BlackBerries. It is by far the most widely use relational DB in the world (despite what the MySQL people claim on their website, they're not even close)


Firefox uses it.


So does Chrome. Actually, this comes in handy: http://sqlite.org/famous.html


So good to see Sun's logo there :)


They should replace it with Oracle's logo now. Just for giggles.


Ouch, Php got a mention, but they snubbed Rails, despite the fact that it comes bundled ... DHH won't like that one bit!


At this point, it would be faster for them to just list the companies who aren't using sqlite.


Rails doesn't bundle sqlite3, just lists it as a default dependency for new projects.


Probably couldn't use the Rails logo because of stupid trademarking, so they left it off.



So does Chrome


For me JSON has replaced SQLLite, with a large reduction in code and complexity. [ Admittedly I've written my own routines to access it more simply/directly on iOS ]


Yeah and like HTML5 has totally replaced our web server.


He means a flat file of JSON records. Your sarcasm is unnecessary and uncharitable.


The sarcasm was perhaps a little mean but he has a point. If a flat text file storing JSON could replace your database, then you probably never needed a DB in the first place.


Lots of people use full blown rdbms's when they dont need to (see blogs), its not a silly point and the sarcasm was unwarranted


Sarcasm is never unwarranted.


If you can use SQLlite, you probably didn't need a real database. So the use cases overlap a bit with flat-files and JSON.


The JSON flat file sounds like variable length records where length is determined by parsing each record with global reader/writer locking?

It's like public storage where you have to sift through everyone else's crap to get to yours, every item is stored in a bulk cargo box and only one customer gets to store their stuff at a time.

If you're interested in db internals, here's a few algorithms that MySQL uses. Note this doesn't cover InnoDB which performs far better under high concurrency loads and offers row level locking, clustered indexes, an excellent caching algorithm, foreign key constraints with cascade, etc..etc...

http://forge.mysql.com/wiki/MySQL_Internals_Algorithms


The way I've stored things in flat files is to make use of the file system's lookup capabilities. I wouldn't suggest storing data that may be requested or written to by more than one client at once with a method such as this, either. I wouldn't try to use it like a C array or anything. One file per user or more makes sense. I've also used stuff like this for system admin scripts.

Something like

   user_id=int(request.GET['id'])
   data_type=int(request.GET['id'])
   json_file="{0}-{1}-chart_data.json".format(user_id,data_type)
   #get the file, decode, etc.
It's a quick and dirty caching method that has good persistence, of course, is relatively performant under low loads and easy to understand.

Thanks, I'll check out the MySQL thing, but I'm not actually intending to build my own database.


what's your cutoff line for something to be a "real database"? sqlite is fully acid compliant.


sqlite is single user and locks a bit too frequently to be very scalable, so while quite useful, I mean sqlite not capable of fully replacing a typical engine such as postgres or mysql.


How do you know he means that?


Because it's the only interpretation that makes sense, and charitable discussion demands that I assume my interlocutors are reasonable people who say things that make sense until I have evidence to the contrary.


AND fun


I think you could make your point better by asking a question about the negative consequences/limitations of using JSON.

Sarcasm doesn't aid in making points online because people who don't know anything about the issue at hand make sarcastic 'points' as easily as an expert.


I left it unsaid that I assumed SQLLite was normally used in places other than the traditional back end server data store - I tend to use postgreSQL / mysql or perhaps a noSQL variant such as couchDB/Mongo for server-side data.

So I meant that instead of using SQLLite on mobile devices, pc based local fat clients or in the browser... I now use JSON now whereas I might have used SQLLite before [ I also use JSON where I might have used XML or windows config files etc ]

I did not intend to say JSON is replacing MySQL / PostgreSQL.


You're getting jumped on, but you have a good point. It's often easier to just stringify a dictionary and read it back as the object instead of handling the database creation/insertion/selection if all you need is to store and access a few values.


I can sorta see many cases where that would be useful, but personally I am happy letting SQLLite do the heavy lifting extracting things with indexes, grouping and using the where clause.

But yeah, JSON is great for small amounts of data.


I also tend to use JSON as the main messaging format for Client/Server communications [ where I might have used sockets custom binary protocol previously ].

This means I can reuse the same REST style data 'provider' from within a Javascript web UI and within an iOS or Android client app.

So theres quite a few reasons why using JSON simplifies things for me - particularly I notice that there is a whole layer or ORM style boilerplate code that I dont need now [ whether its SQLLite <-> Object or XML <--> Object ].

I actually like the SQL Lite implementation!


It's pretty handy, and an easy upgrade to a 'real' database if the need ever arises - especially mongo/couch.


Because JSON is well known for its ACID compliance.


Love SQLite when doing some Django development. Great to easily scrap the database with a quick `rm` and repopulate with good data.


I've been breaking myself of that habit: I try and use the flush command so I don't have to keep doing the superuser creation step.

https://docs.djangoproject.com/en/dev/ref/django-admin/?from...


Good point, as the superuser creation bit does tend to get annoying. But you have to admit–there's something much more fun about getting to rm your db ;)


yeah, but if you are modifying the schema and are not using south or something like that, you will still want to rm & syncdb again....


Agreed. SQLite also has a great copyright notice in its headers:

  ** The author disclaims copyright to this source code.  In place of
  ** a legal notice, here is a blessing:
  **
  **    May you do good and not evil.
  **    May you find forgiveness for yourself and forgive others.
  **    May you share freely, never taking more than you give.
(http://www.sqlite.org/src/artifact?name=a8571665d43ff18f89a4...)


It's also worth noting that SQLite is, for the time being, the underlying store for Membase


You mean the eventual persistance store.


In the microsoft world SQL CE 4 is pretty nice for doing the same sort of thing.


I still much prefer to use SQLite on the MS stack, given how reliable and ubiquitous it is.


In some scenarios I prefer Microsoft Excel over SQLite. Yes, Excel can be used as a database as well!


Do you mean as a database engine using the ODBC driver for Excel or as a database-like application?


Also damn useful when plugged into NHibernate for bringing up test cases using in memory databases for performance.


Do you have an example of something cool done with postmessage? I've never seen that term before.


i threw some example code [1] on gist to supplement my comment. i modified it a bit and didn't test it- but it used to work- so probably still good for reference. it's also not very pretty. questions, comments, concerns welcome.

essentially, it gives you two-way communication to your server on any arbitrary domain- that's pretty powerful!

[1] https://gist.github.com/1020251


Instead of polling, you can define event handlers for <script>'s onload and onreadystatechange event to detect when jQuery gets loaded. See Ben Alman's jQuery bookmarklet generator for an example: http://benalman.com/code/test/jquery-run-code-bookmarklet/


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: