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

 



Forgot your password?
typodupeerror

Comment Not too bad, we will see what sticks... (Score 4, Interesting) 132 132

To be honest, I'd couldn't have seen even half of the stuff that they shipped every being there when Visual Studio 2013 came out. An Android emulator? Okay. Upcoming Objective-C support? Hum.

It's a big bet that there is enough demand for better cross-platform code sharing for people to start using the Xamarin environment, and it's even a bigger bet that mobile developers will want to bring iOS and Android applications onto Windows.

There is some method to the madness. The Windows Runtime (the engine underneath Universal Apps) and the Core CLR have some compelling technologies that may have appeal outside the Windows ecosystem.

The Windows Runtime is interesting. It is almost completely oriented around asynchronous APIs. Any operation that will (or can) take more than about 50-100 milliseconds will need to have an asynchronous form. Now, the trick is that async/await in C#, promises in JavaScript and Futures in C++ makes consuming that API tolerable (in C#, it's really not hard at all). It is oriented completely around try to make sure that applications can't block and become unresponsive. In short, if you make it harder to do the wrong thing, it will happen less often.

But, the first form was oriented only towards Modern (metro) applications, and we all know how that turned out. The Universal Apps is doubling down on the underlying runtime and support and seeing if they can get better adoption. Hard to say, but it'll be interesting to see how it turns out.

The other interesting front is Android; there's a bunch of libraries that provide alternatives to core Google APIs. I'm fine with that; alternatives are always good. And the Android subsystem in Windows 10, that's interesting.

Anyway, it may bring some hard-core Visual Studio shops into the mobile space, because you can still say "it's all VS". Lastly, it was a price drop. Ultimate doesn't exist anymore, and it's replacement is half the price. Even Premium was more expensive. I half expect more price drops and incentives to drive more people into the ecosystem.

Comment Holding things back... (Score 2) 166 166

The main problem with the environment is that between Epic Systems and VistA (the VA system), MUMPS holds back some real innovation. Sure, you'll hear tons of success stories about the VA or from EPIC, but the fact is that this vendor lock has huge costs. A major hospital chain I worked with spent a billion+ on a EPIC implementation. Did it improve interoperability with other hospital systems? Nope. Even two EPIC implementations will have a very hard time sharing records.

And that's the whole point of a EMR, to have a consistent version of a patient's history throughout their life. And these systems can't support that model in our current system. If every doctor had to use one system (like in some national health care systems), it'd be better, but that's not what we have. Sadly, the other attempt to standardize healthcare systems and interoperability (HL7) is an equally convoluted mess.

What is needed (but we won't get because of the players) is a standards driven process that is focused on building up a workable ecosystem for exchanging information.

It'd be hard to create a standard that would allow for healthcare professionals to: provide proof that they are a provider and to provide electronic evidence that they have a patient (via a secure exchange) to create a unique identifier for that patient/provider, but it is doable. Solve that, then move on to exchanging of information between providers and allowing providers to mark information as not shareable to the patient or other providers. All of this could be done, and it would provide a real basis for a proper EMR system.

Comment It's all about the environment... (Score 1) 126 126

Seriously, I'm still waiting from a company that realizes having private offices plus collaborative spaces (you know, a old school office) is the best way to go.

You need quiet to concentrate on a tricky problem. You have it. You need to get together as a team and work on something, you have it too. You have rooms with actual doors, you train people to use a proper conversational (not cell phone loud) tone and boom, productivity. Not chaos that mimics the appearance of creative work, but actual work.

Seriously, hire a developer for six figures and give him a few hundred bucks in desk space that doesn't even have four cube walls? That makes all the sense in the world, right. Argh.

Submission + - Interview: Ask Linus Torvalds a Question

samzenpus writes: Linus Torvalds, the man behind the development of the Linux kernel, needs no introduction to Slashdot readers. Recently, we talked about his opinion on C++, and he talked about the future of Linux when he's gone. It's been a while since we sat down with Linus to ask him questions, so he's agreed to do it again and answer any you may have. Ask as many questions as you'd like, but please keep them to one per post.

Submission + - Tech company finds stolen government log-ins all over Web ->

schwit1 writes: A CIA-backed technology company has found logins and passwords for 47 government agencies strewn across the Web — available for hackers, spies and thieves.

Recorded Future, a social media data mining firm backed by the CIA's venture capital arm, says in a report that login credentials for nearly every federal agency have been posted on open Internet sites for those who know where to look.

According to the company, at least 12 agencies don't require authentication beyond passwords to access their networks, so those agencies are vulnerable to espionage and cyberattacks.

Link to Original Source

Comment Makes sense... (Score 2) 124 124

The R/D department for this lives in Portland (Perceptive Pixel, acquired by MS). Plenty of room in Wilsonville. Power is still fairly cheap here (hydro power from the Columbia dams). So, yea, makes sense. Sure, milk it for media points, but in the end, it's just a business decision.

Comment Hope it pans out... (Score 4, Insightful) 82 82

Seriously, severe migraine sufferers and those who suffer from cluster headaches need all the tools we can give them. As noted, if you really read about cluster headaches, it is truly shocking. It is noted sufferers are at a high risk for suicide; after I read what they go through, I was surprised that it is not even higher.

I suffered from migraines, but on the mild to moderate scale. I was lucky, I found a preventative regimen that works very, very well for me. For those with more severe cases, I do hope this is a successful treatment option.

Comment Re:Java vs. C# amuses me (Score 1) 414 414

Well, there's some differences that do make C# seem easier and less clunky. They are similar, but not identical, and their differences do matter.

Properties. Yes, Java has getters and setters, but those are methods. C# makes the distinction between a property and method. To be fair, this doesn't really come up until you deal with reflection and more advanced cases, but it is a useful distinction to make.

Generics. Java has type erasure, which has it's issues (you can't do T newThing = default(T) in Java). If look at the lambdas, there's a lot of stuff they have to do around typing to handle primitives versus objects, etc. C# just has a Func and Action types. For APIs that use higher-order functions, this makes things a bit clearer (I want a function that takes a string and returns a bool, for example). Compare this to things like mapToInt in the streams API, and C# is just more consistent and natural in this area.

LINQ. True, Java 8 streams add a lot of this, but they don't expression tree support, which makes things like LINQ to Entities and LINQ to XML, etc. possible. Granted, LINQ has it's own issues (LINQ to Entities code can fire runtime exceptions that LINQ to Objects won't), but this power is really useful. And it requires language and compiler support to transform a lambda to a expression tree versus a closure.

Async/Await. Now, this is newer, but this is a huge difference between C# and Java. Non-blocking code is great, but it can quickly turn into a nest of callback functions. Sure, promises help, but that's a chain of objects. Async/Await provides a much easier to use model that provides many of the benefits of asynchronous programming, but keeping a more synchronous like code base. Scala, JavaScript are all adopting this model because it works well.

In practice, it can be very useful. I was working on ASP .Net MVC 4 project. I bumped it up to five and some improvements. I then just used the asynchronous APIs in MVC, etc. It was a fairly simple change, but boom, less CPU usage and more overhead for concurrent connections. A noticeable gain for little price.

Finally, the libraries do diverge beyond the core. Entity Framework and Hibernate are different. WPF couldn't be more different than Swing, etc, really. Java doesn't have a standard library like Windows Workflow Foundation. And there are Java libraries that C# doesn't really have, of course.

While I agree that Java can get too bad of a reputation, it does show it's age. Also, the JSR process has grind to almost a complete standstill. When C++ gets lambdas before Java, it shows just how slow the process has become.

I think C# embraces newer features much more readily, and that's why some really advocate for it.

Comment As long as you consider one... (Score 5, Insightful) 443 443

Moving past a text editor is a big help. Sure, it's good to understand the command line and all that, but having a tool that understands code and allows you to manipulate it is really useful. Refactoring support matters. A lot, actually. Safe delete, rename, extract method/parameter/etc. are all basic tools that can make a code base better. Code completion (intellsense, etc) support matters too. What does this thing do. Does it do what I think it should? Why or why not. Add in things like smart templates, etc. and even the most code aware text editors just look like nothing more than keyword colorers.

Personally, I can't recommend Visual Studio/Resharper or the IntelliJ product line enough. Worth every single penny and then some. JetBrains has a laser like focus on just getting things done. High DPI support was a problem for their IDEs, so instead of waiting on Java 8/2D to catch up, they forked it just to get it work, and they admitted it was not a great solution, but a workaround.

Comment There's an easy fix... (Score 1) 429 429

For all the worry about age discrimination, H1B abuses, labor violations I've seen here and in other places. There is only one known solution to these issues. Unionization. Until software engineers gain collective bargaining rights, this is all just theory.

It's funny that a group of people that are more than comfortable with changing how people do their work and creating new products. don't think they can make a union work. Sure, they have flaws, but they have advantages as well.

The reason we talk about the 40 hour work week being ignored is because of unions demanding a reasonable amount of time off. Not because some companies that realized it was a good idea. The list goes on. Sure, there's been some really good attempts at rewrite history, but the truth is still there. Unions are an important counterbalance to corporate overreach and abuse.

Comment Re:Developers, Developer, Developers (Score 1) 125 125

Not really. Sure, many languages have things like LINQ Select/Where (map/filter), but that's just for objects. It's the expression trees where things get interesting. Expression trees allow a provider to generate a different artifact than a map call over objects. LINQ to Entities creates calls which the Entity Framework turns into SQL.

You can make a custom provider against any data source, really. There is an example of LINQ to Twitter that turns LINQ queries into Twitter API calls (http://linqtotwitter.codeplex.com/).

This feature requires language support, because when an Expression is needed, the compiler needs to turn a lambda (and so on) into a expression tree, not into compiled CLR code in a closure.

To be fair, something similar could be done in other languages with proper support. And writing a LINQ provider is non trivial, but it is possible and in certain cases, it can greatly simplify programming.

Comment It's Microsoft vs. Google... (Score 4, Interesting) 83 83

Well, to be fair, it's Microsoft vs. Motorola which was acquired by Google, which still holds the patents. Apple filed a brief in support of Microsoft. The ruling that Apple is support of upholding is that Microsoft only owed a couple of million a year for it's use of those standards in its products.

Motorola sought an amount of four billion a year plus 20 billion in back fees. Google and Qualcomm is arguing the latest ruling was over-reaching, and that they need the ability to charge more. But, given the initial demand, it is clear they want to charge orders of magnitude more for these patents and to seek relief from previous sales. It's pennies versus dollars and that adds up.

And frankly, Google should know better. It's benefited enormously from these technologies being available at a low cost. I know this goes against the Slashdot mindset, but Microsoft is on the right side of the argument here.

The gent who wakes up and finds himself a success hasn't been asleep.

Working...