Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re:totally incoherent! (Score 1) 244

Fragmentation is when you need to produce several subtly different versions of the same app that does the same thing because there's several different devices that all run what is allegedly the same operating system but each manufacturer has made little modifications that make them incompatible with everything else.

That is a bit of a narrow definition. I'll totally grant that that is fragmentation, but many other things are as well. Some are simpler to deal with then others (GPS/no-GPS-but-WiFi-psudo-GPS is only an issue if your app needs high accuracy position data). Needless software fragmentation is the most annoying because it doesn't really make life better for anyone while a lot of hardware fragmentation exists either to satisfy a price point (and therefore bring a device to a set of people that wouldn't have been able to afford it, or a feature to people willing to fund it without forcing others to do so), or because things do tend to get better year to year. The "our brand of Android has this and that extra, and that and the other changed a little" feels too much like the 80/90 Unix fragmentation that didn't make Unix users happy, and I think ultimately cost it the chance to win big on the desktop (or for a more charitable view, delayed victory until OSX came in...but I think that is wishful thinking, OSX has a non-trivial percentage of the desktop market, but Windows is dominant there). Now just because it worked out badly before doesn't mean it will do so again (we are not doomed to repeat the past, not always at any rate), but it still smells bad.

I would say iOS has a few differences from device to device. Many of which have graceful fallbacks. A very few of them do not. Even so it is just a tiny handful of things, and for the vast majority of apps comes down to supporting two very different screen layouts, and a third similar layout, and two sets of pixel density for artwork (or using lots of vector art). That is pretty much it for "normal" apps. Some apps need to worry because they push the CPU and/or the GPU very hard so they need to scale back on slower hardware, but that is mainly games and games do that everywhere except consoles.

Comment Re:totally incoherent! (Score 1) 244

So you say that having two groups of users, one of which has constant IP connectivity, and one that does not, that's not fragmentation

No, having two groups of people that both sometimes have IP connectivity and sometimes don't, but at differing ratios is not fragmentation. My iPhone has no IP connectivity on large swaths of Highway One, esp. north of San Fran. Software attempting to deal with that is no different from software in my iPad which has cellular data hardware, but I've turned it off until I decide I want to reactivate my data contract. Software attempting to deal with both of those is no different then running on my wife's old (WiFi only) iPad.

Comment Depends on what homebrew means... (Score 1) 181

The last few years we have seen Microsoft, Nintendo, Sony and Apple all bring out means to thwart homebrew development. The app store on both Android and iOS have taken many homebrew devs over to try and break the market.

Well I guess it depends on your definition of home-brew, but I think it is hard to make a game for iOS or Android that wouldn't be let into the store (unless you say crash on launch, or are noticed grabbing all the user's contacts without permission). It is in fact far simpler then it was to get your own games onto the Dreamcast! You get the real dev kit for very cheep (cheeper then the hardware you are developing for), and while the hardware to host the development on isn't free, it isn't exactly expensive (hardware dev systems for the 16bit era ran to $30k, now it is just a Mac mini, or pretty much any old PC for Android).

On the other hand if homebrew has to mean "we figured out how to get onto the hardware ourselves and made our own psudo dev kit", yes Android and iOS are hurting that effort because who really wants to go to all that bother when they could just get down to making a game?

Comment Re:FUD (Score 1) 375

to get into the big market (Android), it's well worth it

The market may be big, but does it pay? A lot of small developers have reported the android apps make a whole lot less then iOS apps ("an order of magnitude" sticks in my mind, but a quick google search shows a lot of 4x articles, and a smattering of 11%, but I didn't see an order of magnitude in the first page of results).

Assuming the 4x number is true, is it worth getting $1.25/app and writing C/C++ for 80% of the app, and then writing the last 20% in ObjC and again in Java -- or are you better off writing it all in ObjC and then starting work on the next app? (I imagine the right answer depends on how well served your core logic is by ObjC and the available frameworks, and also the total sales involved, and if you have another app that would make similar money, or if you are "played out" of good ideas)

Comment Re:FUD (Score 1) 375

The business logic for your app should be written in a platform agnostic way, and will be trivial to port.

Sure except...

...different platforms have different optimal workflows, and capabilities. This frequently drives changes into what you would think of as platform agnostic code. This is especially true of games but is true of most software. The effects of this can vary from just having a bad port (maybe a non-natiave feel, or just plain a kooky UI), to needing to re-write large parts of the "agnostic" code. This can be costly, and time consuming. Also if you have future versions of the products you need to decide if you want to port these changes back to the orignal platform (or platforms), or hold them apart. Both have their own sets of issues.

...even code that can be made platform agnostic isn't always as simple to write or as fast in platform agnostic form. For example use of CoreData on OSX/iOS is very platform specific, but it is tied to how your objects persist across executions, and even how you represent the objects. It can save an enormous amount of effort (save/load is trivial, undo/redo can be close to trivial, and so on). When it is the perfect fit as much as a third of the code you would normally need to write goes away.

Or if you look at Android, writing the "platform agnostic" part in Java gives you garbage collection so you spend very very little time hunting down memory leaks (you might end up with a few places that forget to nil out a pointer and end up pinning down extra memory for too long, but this isn't as common or painful as memory leaks in C/C++...). No debugging pointers that now dangle into the wring types of objects or to system heap structures. That can safe a whole lot of time.

However a platform agnostic core (business logic, or game play engine, or whatever) won't be able to use any of that. You have to restrict yourself to the intersection of what every platform you want to port to will have. I would be surprised if it cost you as much as having to write it twice, but not if it cost you a good 33% more then writing it platform specific.

Then you have the platform specific (UI?) part of your application. Could be pretty small for something like bug tracker, could be very large for a game or maybe a bike ride activity tracker. If making the core agnostic costs you 33% more, and then doing the platform specific part is significant the new platform has to be a very large percentage of the original platform's revenue before it is worth doing vs. making the faster, cheaper, but less flexible core logic and then moving on to a new project (or the next version of the current project).

I know this is sad when the platform you love is the underdog, but economics isn't called the dismal science for nothing.

Comment Re:designed to fend off malware (Score 2) 230

There is a checkbox in System Prefs to turn it off. Or if you control click on the app and select open it will launch (and white list for future launches).

It is really so people don't double click an app that has an icon that looks like a MP3. Or maybe they won't launch what looks like PhotoShop, but isn't. If it gets enough adoption from 3rd parties I can see it being a huge help to the average user. If it gets low adoption it'll be more useful for folks that really know what is going on.

Comment Re:because - (Score 3, Interesting) 793

I think C's originators (or at least the still living one) changed his mind about some of them. From looking at the go language which targets the same programming niche some of these things have been addressed.

The semicolons are implied in most places now (as a side effect it enforces a brace style many people dislike, but happens to be my preference -- so even though I'm happy with C's semicolons this is a borderline positive change for me).

Declaration syntax has been made "more sane", which isn't surprising, and by the time K&R wrote the C book they had already started regretting it (one of the assignments was to parse C declarations into "english", look at what the authors wrote about it).

Go revamped switch (and a lot of the control flow operators).

Some of those changes might just be because computers have gotten a wee bit faster in the last 25 years or so, what constituted a great tradeoff on a computer with a 64K (split I+D) address space and maybe 512K max RAM a clock cycles measured in a few Mhz (oh, and these were multi user computers) is a wee bit different from what makes a good tradeoff now. (semicolons I think wind up here)

Some are likely to be a change they would still have made on the original system. (most of the control flow changes wind up here, likely variable decl too)

Comment Not so much (Score 0) 492

Sure, I admit there are similarities. Both are giant greedy companies. Both gobble up competitors, and when they are prevented form that they both launch competing products. I view Google's "Don't be Evil" lip service as about as transparent and self serving as the 1990's and 2000's era MS open source lip service.

On the other hand Google's own products are fairly decent. MS's are largely crap. Most times when MS buys a company the "adopted" products go rapidly to crap. Google's "adopted" products tend to trundle along for a while. MS was a creditable platform vender and most of the assaults on other companies were against those that built on top of MS's own infrastructure. Google has only made one Android related purchase that I can recall. Maybe that is an area ripe for future abuse, but for the moment they have not had their own "it ain't done 'till Word Perfect won't run" moment.

If Google is the new MS, then at least the trains run on time. (most days) It ain't much, but at least it is something.

Comment ATT+VZW is the best option in CA (Score 1) 134

CA is a mighty big place, and I haven't traveled all that much of it. However I do happen to have phones on ATT's 3G network that can act as hotspots, and USB networking devices for VZW and Sprint. I don't have T-Moble because the coverage map looked like it wasn't really useful. I also have an RV, and have left "major city areas" quite a bit. I don't currently have any 4G networking gear (unless you count all the 3G stuff the ITU reclassified, in which case I have 4G but no LTE).

In my experience there is a lot of coastline that has no service from anyone. There are some inland areas where hills or mountains block signal from everyone. Some places I can get ATT but not VZW. Some places I can get VZW and not ATT. Around the coast it was pretty even. In land VZW seems to have a little bit of an edge, but not a lot. Many places I could get VZW and/or ATT but not Sprint. I can't recall any places I could get Sprint but neither ATT or VZW, but looking at coverage maps there might be such places, I've just never attempted to get signal there. However there is no substitute for actually testing in your location. Everyone has said VZW has the best coverage for years, but for years my house had no VZW service, while it did have spotty ATT service (recently VZW started serving the area, and also around the same time ATT's service picked up a lot as well)

Most places where I could get ATT and VZW 3G the ATT was faster. Sometimes it was even faster if the device showed "fewer bars".

The "reasonable best option" I would see is to get one device on ATT and one on VZW, and ignore the rest. My VZW device came form http://www.millenicom.com/ I don't know if they still sell them or not. They use to have a $50/month plan for 10G. It looked like a no-contract plan, but the way it was set up when you stop paying the monthly fee they want the device back or hit you with a big disconnect fee (and they charge for the device up front), however even so it was still a bit cheaper then other VZW data devices, just not by as much as it first looked. Things may have changed since then, so look around, but make sure you give them a peek. My ATT device is an iPhone (was a 3GS, then a 4, now a 4S...my wife and I take turns getting a new one each year). Another option is the new iPad, they have large up front costs, but a month by month plan (no fee to cancel, no fee to restart). From what I have read on the net only the VZW one currently supports hotspot sharing, ATT still hasn't gotten their ducks in a row there. Depending on what you want to do with the internet you might be just fine only having access on the iPad anyway though.

I have no data for Nevada. Last time I was in Arizona I didn't have a VZW device, but ATT seemed fine pretty much everywhere.

Comment Re:Small Claims DDOS (Score 3, Interesting) 730

Don't sue youtube. That would be under the ToS. Sue the party that claims to have reviewed the audio and decided you are infringing their copyright. That sounds like a lie that damages your reputation. In other words libel (or slander, I forget which is the written form).

I'm not a lawyer, I don't even play one on TV, but this seems like the kind of thing you could take to small claims court for say $1000 or so and win.

Of corse you would be better off with a lawyer, but I don't see how you could sue for enough to actually pay the lawyer. If you have access to a free half hour consult or something you could ask a real lawyer, they might have a different opinion.

Comment Re:Maybe, maybe not. (Score 1) 785

I expect that this new developer will underestimate the work load, miss deadlines, go over budget, not document anything and possibly even quit before the project ends.

I was the new guy once. I underestimated the workload, but "the new guy" tends to have a fair bit of free time, and a willingness to use it for work. So that didn't hurt anyone (except myself). I didn't have any budget, so I didn't go over it (unless you count hardware, and I stayed under budget there). I didn't miss many deadlines, fewer then many senior engineers. I didn't quit during any major projects. However I sure didn't document squat. I made vast complex systems and left behind only a sketch of how to operate it, and nothing on how the internal bits were lashed together.

To whomever became my maintenance engineer after I left, I'm sure sorry. Hope you lived.

I believe that allowing a senior developer to learn new skills on the clock or even be sent to company paid training is a big moral booster and makes the guys job more interesting too.

I bet it would be. The only place I worked at that did even a little of that basically just sent us to a few classes (or hired some really interesting folks to come teach), but that was less then a week a year. It was more morale building then useful to the company. For example you can't teach software guys much of use about VHDL in a week. Sure it can be interesting to them, but not very useful to the company.

Actually I'm wrong, come to think of it, the place I'm at currently has a "mostly once a week" hour long "class" on something, maybe a new technology, or maybe some API that has been around for a while that someone thinks more people ought to know about. It is nice, but for almost every topic it is really only enough to give you an idea that if you hit a problem with a specific shape that you should go look into the FOO API, or the BAR language, and do some real research in how to apply it. Seriously, how much OpenCL (for example) do you think anyone can teach or learn in an hour?

Every place I've worked has really just expected the senior folks to learn new things on their own time (with maybe a few pointers). Largely we did.

Comment Maybe, maybe not. (Score 1) 785

the new grad knew a hot emerging technology that a client wanted.

Did the senior engineer know the technology? Sure the technology may not have existed when they were hired, but for a senior engineer to deserve the title they learn or invent new technologies. If the senior engineer did know the technology, or could pick it up before the new hire becomes productive (i.e. learns company procedures and enough politics to operate effectively), then the new hire isn't worth the extra cash. If the senior engineer doesn't know the new technology and can't pick it up fast enough, then the new guy deserves more. At least until the senior engineer catches up.

NOTE: I don't mean to imply a senior engineer knows all new technologies, nor that they can alway guess what might be important to their company. Just that they can and do keep up to date on things, and sure sometimes a new library or language they missed or dismissed as "no better then this other thing I already know" becomes more important then they had guessed, but they ought to be able to pick it up. For example prior to the iPhone becoming popular it might have been reasonable to not know any Obj-C. Someone coming out of collage might know Obj-C, but a senior engineer with knowledge of C and any sort of smalltalk style OO language should be able to pick up Obj-C really fast. Likely fast enough that they are able to make real programs while the new guy is still learning the ins and outs of the bug tracking system, and who to listen to and who to ignore in meetings.

Slashdot Top Deals

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...