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

 



Forgot your password?
typodupeerror
×

Comment Re: Know what I want? (Score 1) 357

Developers don't want to spend 8 hours tracking down a double-free'd pointer, so they use garbage collection, which adds heft.
Learn how to use memory, smart_pointers, and valgrind. These should not be happening as of C++0x17.

Developers need to include graphics for 83 different iOS screen sizes, by Apple fiat.
Don't code in terms of fixed sizes, do it all as percentages. My apps work/loop the same on iOS and Android.

Developers don't want to write the fastest possible code that only they could ever understand, because the next guy that touches it will break it.
You're coding according to the wrong dogma. Forget speed, CPUs will always get faster. The problem is the number of software engineers DOUBLES every 5 years. They are the threat, not the algorithm.

Developers don't want to write in super-fast C because it won't run in a browser and it's too easy to create vulnerabilities.
C is not any faster than C++, which provides the classes and boundary protections you seek. proper use of the new pointer types will work in your favor.

Developers don't have time to reinvent the wheel constantly so they pull in bloated dependencies.
Bloated is subjective, based on scope, but I understand. Static linking is one potential solution. You'll have to elaborate what your goals are here though.

Comment Re:Since I Posted The Question... (Score 1) 357

You're not going to like the answers, but here they are:
One thing that I would love is a programming language that can automatically compile to multiple OSs - Windows, Linux, Mac, Android, iOS - without any sort of adjustment or porting happening.

This is C++ specifically with Qt, and Qt's QML. It is that easy.

I would also love for someone to invent something like GPU BASIC, a programming language that is as easy as BASIC, but can be used to write code that runs fully parallelized on modern GPUs.

It's not that easy, the desire to use a highly performant hardware solution precipitates software differences, and adding abstractions slows it down. However later versions of CUDA and Volta hardware are approaching what you want. It's not the LOAD/EXEC/COPYBACK sequence of yesteryear.
3D - It's progressing, give it time. It's still a hot field of innovation.
I would like more work done on visual coding interfaces like DataFlow languages - It's coming, but there are implementation issues. Hadoop is an example, Spark, etc. I agree at the current time the implementation is too coupled with the abstraction.

In programming, one of the things I miss is automatic porting/translation to another language and syntax, and multi-syntax programming languages. Imagine writing an algorithm in BASIC, and being able to see that algorithm instantly as C, Python or Rust code.
This is something that I really want to see as well. .NET was supposed to be this, but it never took off. The syntax translation is not a problem, but it's the libraries, the async/blocking, functional/procedural paradigms that present a challenge.


  the number one most requested domestic robot helper is a dishwashing robot. You throw your dirty dishes on a counter. The robot takes care of them. A robot that irons clothes, mops floors and clears crap off your table would be cool as well.
The recoupment of time/labor is too hard and these will not succeed.

Comment Cross-language coding (Score 1) 357

I code in Python and JS daily, and C/C++ occasionally. At this point in time there is no way for me to describe a system where I can describe it once, then use the corresponding sub components of the system in various languages. .NET comes close, but I'm not looking for a CLR.

There are several challenges - from straight syntax (easy) to the various libraries and approaches (functional vs OOP). Some things have gotten better, everyone has better initializers and lambdas, but other things have gotten worse (JS and Python now have async) so you don't know if you're calling a blocking function or not.

Almost 20 years after .NET we're more soloed than ever.

Comment Just use the Trent Reznor Camera Policy (Score 3, Interesting) 147

Many years ago Trent Reznor went counter to the industry and stopped banning cameras and recordings. The idea is that the recordings didn't hurt business, and they did not. He continued to sell out tours for years. It also had the unintended effect that since so many people had their own recordings, we could share them, so not everyone had to record everything all the time. The culmination is "This is on us" which is about 10+ gigs of concert footage available as torrent.

So if you allow cameras and allow people to share/disribute (for free) what they record the number of people holding up phones goes down. The receiving don't really compete with professionally recorded concert Blu-rays either (in quality or sales).

Comment My fundamental concern is Bad AI (Score 1) 220

So software changed the world yay! But AI is just getting started. I am already alarmed, not of a potential "singularity", but by the effects of AI gone wrong. I'm not even talking SkyNet or even self-driving cars gone awry. I'm talking about the very silent bias (no pun intended) from these AI systems - of which there is no legal or professional quality standard. Companies deploying bad models that shape our future, either because they are used in government and carry the force of law, or they are used by companies to decide things for us and limit our future because we, for whatever reason are an under-fit outlier.

In other AI news, the AI revolution continues into the arts, here, AI is creating [passible] music, images, scripts, etc. While there are a growing list of impressive feats, it concerns me that it will replace the human element of art with a very artificial one.

I am calling for legislation for any AI that is consumer facing to me labeled as a product of AI, and that customers who are subject to the output of the AI to be able to inspect the input vector which represents them, and the output of the AI on that input vector. We cannot have black-box AI systems rule our lives. We need our input vector to ensure the data doing in is correct, and we need the output to ensure we were not subject to bad data practices like under-fitting, over-fitting, mini-batch normalization. It is implied that there is a way to correct errors as well.

Comment Permissions Shopping (Score 1) 196

Camera app takes photo, (GPS disabled for this app) broadcasts photo to entire system.
Google Maps (with GPS) picks up the broadcast and tags the photo with location and uploads it.
You can't block Maps from using GPS.
Ergo, android permissions mean nothing because there is no permissions firewall.

 

Comment Re: Its your fault (Score 1) 285

You don't start out addicted to opioids, either. You've got to be a regular user to develop the addiction. If you started using Facebook you'd post a much different message.

Social is waning. Originally it's arrival coincided with mobile. Without that you'd not be able to get the fix often enough to get the levels of addiction that we have. But of you look at what's posted now, it's no longer pictures of people's dinners from the camera phone. It's more social, political, and ads, though they number of cats is about the same. The politics, fake news, and ads actually create adverse (no pun intended) experiences. Also, work people's parents on there, you can't really post what we used to.

Social has a use that is becoming more utilitarian. We are adjusting to it and someone like me only checks every other day if I don't have a notification. That I need to respond to. Eventually we room up against a very real limit of social interaction and hours in a day, our social group stabilizes. I've only added 2 new friends in the past several years. You also age which changes your social focus.

Comment As an engineer having been in 2 startups... (Score 2) 140

Don't.

Startups are businesses. You need business acumen and people skills, neither of which are engineer qualities. If you do decide to do a startup, realize your first hire is not yourself, but the CEO who will handle the initial pitch, finance and all that non-engineering jazz. Also know that your priorities as an engineer are out oa whack with that your startup will need, unless you're already used to doing things in an agile manner.

But realize that the traditional startup might sound sexy but it sucks. If you can at all bootstrap it, do it that way. If you never have to pitch to a VC, then that's the best outcome for you, even if it takes a little longer. VC funding is only when you have hurdles to entry that you can't cross on your own, or you are racing to market because of a timeline.

Once you bring in a VC, you no longer own the business, they do, despite whatever equity agreement you have.. You wanted a start-up to be your own master, but having other people's funding makes them the master.

Comment Teach it as a trade (Score 1) 347

The college curriculum is focused on how to get software to work - at all. You do project that are supposed to do things. And you get your program to work, you submit it, and if it passes the tests, it "works"

However in the real world we are no longer concerned with getting software to work. We assume that it will be developed and will eventually be working, through some majority effort of feature-adding and a minor part maintenance, it will be accomplished. But what makes that assumption possible is that good code is written from the start. New developers will write terrible code - but it will work in the average case. To write "good" code, requires an insight into how software fails. Young developers only know how their software fails in the few ways they've been able to encounter because that's all they've seen.

So my proposal is to treat software development like a trade:
Apprentice - Write tests for code for journeyman or master developers. See all the ways that software can work AND FAIL. Minor feature additions, scripting, DevOpsy-stuff. Can write code for limited internal apps, and production systems but only under supervision. Will develop proficiencies with technologies. (AKA Jr Dev)

Journeyman - Armed all the ways the software can fail even by more experienced developers, the engineer is now able to write code for production systems. Unit tests are written by an apprentice. Demerits for when an an apprentice finds a bug. (AKA Sr. Engineer)

Master - this isn't really a thing because Journeymen are expected to move into engineering management -- if they want to.

Comment Duh, this is why I switched to Linux (Score 2) 353

I realized this even before windows 10 back around the Vista era. All those stand-alone software updaters were starting to get out of hand. The Java Updater, The Flash Updater, and the various other updaters. What's more, about the same time they started to become marketing apps.

  Although you paid nothing for windows 10, and Linux, Windows 10 costs you:
1. Bandwidth for advertisements
2. Screen space for advertisements
3. Privacy
If you don't need Adobe, use Linux. If you need adobe, learn GIMP.

Comment Outlook.com has the worst mobile UI (Score 1) 81

I have seen a lot of mobile UIs in my time, but it is the worst. The interface fails to load half the time. The time that it does, it takes multiple taps to get it to do something. Multiselect is an exercise in futility, you'll get about 3 selected, then on the next select, it'll drop the previous ones, meaning you never select more than one reliably.

And they want to charge for it?

Slashdot Top Deals

Genetics explains why you look like your father, and if you don't, why you should.

Working...