Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
yes, but are they willing to put in the amount of effort required to make POWER a useful platform to develop on? they haven't even made ARM useful yet even though they ship an SDK for it

Adbot
ADBOT LOVES YOU

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
If your standard is 100% parity with x86, then no, they can't magic up twenty-five years of bug fixes and gradual improvements. But if your standard is actually just "useful" instead of petulantly calling every bug a show-stopper, then I imagine they can do quite well. And I can say that, yes, they've invested a fair amount of time and money into that and other architectures.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

ShoulderDaemon posted:

Fourth, you can't "just remove it" - you'd either have to add in microcode to emulate it, or you'd have to add a whole new set of fault flows to handle no-longer-supported instructions.

Is this actually a ton of effort? My (perhaps rather naive) understanding was that the processor already has some logic that decodes illegal instructions as "break into supervisor mode and jump to the Invalid Opcode trap handler". So your FPU-less model would simply follow the same "I have no idea what this opcode is" process when it sees x87 instructions.

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

PyPy posted:

I am working on creating a ticketing system using Google forms and sheets for tracking. I'm using the timestamp from the form submit as a case number, it's arrayed into a column and formatted to show as a number value on the sheet that captures the responses.

The sheet has a script that pushes an email with the form responses to the team. Everything works great except I can not figure out how to display the timestamp in the case number format in the email, similar to how it appears on the sheet. Any ideas?

just fyi two consecutive timestamps are not guaranteed to be be distinct if taken in rapid succession. you should probably just use like the row numbers from the sheet or an auto incrementing guid as your case number. this will also sidestep your current issue and save you from dumb datetime poo poo when it inevitably breaks on you in the future.

also ask your boss why the hell you are rolling a ticketing system instead of using something off the shelf. if the answer is "we're too cheap", there are free ticket systems that are decent. dont make your own.

ShoulderDaemon
Oct 9, 2003
support goon fund
Taco Defender

Jabor posted:

Is this actually a ton of effort? My (perhaps rather naive) understanding was that the processor already has some logic that decodes illegal instructions as "break into supervisor mode and jump to the Invalid Opcode trap handler". So your FPU-less model would simply follow the same "I have no idea what this opcode is" process when it sees x87 instructions.

It's not hard, per se, but it is real effort and cost. You can't just casually remove microop types on a whim.

First of all, the decoder is a highly-optimized non-trivial state machine. You can change it - new instructions are added every generation - but when you build a new decoder you do need to actually test that it still decodes everything correctly, which means you're going to be spending some time walking through a validation suite with your design.

Secondly, the machine is microcoded, and what you are removing is not just the x87 instructions, but the x87 microops. This means that you need to audit all of your instruction flows and find all the places where ostensibly-non-x87 instructions are using the same hardware to handle edge cases or just as a support mechanism. Then you need to decide if you're going to remove those instructions too, or if you're going to rewrite those flows. If you go the rewriting route, that's a lot more testing, and probably some significant performance and power drifts.

And if you present this to any validation team, they're going to say the following to you: "Why do you want us to test a whole new decoder variant, just to remove a piece of hardware that's less than a third the size of the decoder?"

I am not kidding about that. The decoder is like 3% of the core. The 80-bit scalar FPU hardware is less than 1%. It's so small that it's just going to get squeezed in between gaps left by routing the superscalar execution hardware.

Now, all this starts to look different when you start looking at really small cores. For example, Intel Quark (aka Lakemont) is targeting a super-small embedded market, like functional devices the size of a SD card. Lakemont can be configured without x87, because in that case it might actually be a reasonable tradeoff - x87 is comparatively larger on an extremely small core, and the decoder and ISA are much simpler, so there's less validation effort associated with removing it. But that's really far away from what modern big cores look like - Lakemont is in-order, single-core, single-threaded, non-superscalar, 32-bit, and doesn't usually include things like "a level 2 cache". As soon as you start adding any of that stuff back in, the x87 compatibility starts to look like it might as well be free, so everybody includes it.

C-Euro
Mar 20, 2010

:science:
Soiled Meat
Humble Bundle is offering a book bundle of coding texts, and I've always wanted to pick up some coding skills (especially in my new job of typing numbers into spreadsheets) but never had a good guide to walk me through stuff. Anything worthwhile here?

Asymmetrikon
Oct 30, 2009

I believe you're a big dork!
Learn You A Haskell is pretty decent, and Learn You Some Erlang is legitimately great. I've heard people talk up Eloquent Javascript, too.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


The Art of R Programming is very good for learning the programming aspects of R, but it won't teach you the statistical parts at all.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

C-Euro posted:

Humble Bundle is offering a book bundle of coding texts, and I've always wanted to pick up some coding skills (especially in my new job of typing numbers into spreadsheets) but never had a good guide to walk me through stuff. Anything worthwhile here?

The best books listed (namely learn you some erlang) are free on the web. R is probably the most relevant topic for you I see there?

Linear Zoetrope
Nov 28, 2011

A hero must cook
Why are a lot of compilers/compiler-related tools hard to build? I've heard things like compiler-rt are extremely difficult to get working properly (apparently Rust has a long series of hacks it uses to compile it as a dependency on various platforms). I remember one time I tried to build a cross-compiling gcc (for fun, to compare my lovely subset-of-C toy language compiler that compiled to MIPS against) and didn't have a good time either. It strikes me as unlikely that these issues are due to lack of maintenance, stubbornness, or negligence. What makes some of these fundamental libraries really difficult to compile? Poking around, apparently some of llvm/compiler-rt's difficulties come due to some low-level platform-specific intrinsics? I'm not clear what exactly that means, but it seems like it's different from the usual reasons things are hard to build (no vendoring of dependencies combined with project abandonment, only maintained by a few people that all use similar dev environments, attempting to use libraries that aren't meant to work together, etc).

I mean, I can understand that if you were just given some virginal Linux distribution with no compiler, no internet, and some compiler source, then bootstrapping gcc or clang or whatever would be incredibly difficult, but building a compiler when you have access to said compiler doesn't seem like it should be that hard?

spiritual bypass
Feb 19, 2008

Grimey Drawer
There's a bunch of books in existence on modeling problem domains in the course of designing object oriented software. Does the same sort of reading material exist for functional programming? All the stuff I can find is about languages or algorithms. This seems to leave a very large hole when it comes to building usable software.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

rt4 posted:

There's a bunch of books in existence on modeling problem domains in the course of designing object oriented software. Does the same sort of reading material exist for functional programming? All the stuff I can find is about languages or algorithms. This seems to leave a very large hole when it comes to building usable software.

It's all just algorithms though..? For erlang there's a bunch of books on structuring things in OTP containers I guess.

baka kaba
Jul 19, 2003

PLEASE ASK ME, THE SELF-PROFESSED NO #1 PAUL CATTERMOLE FAN IN THE SOMETHING AWFUL S-CLUB 7 MEGATHREAD, TO NAME A SINGLE SONG BY HIS EXCELLENT NU-METAL SIDE PROJECT, SKUA, AND IF I CAN'T PLEASE TELL ME TO
EAT SHIT

Not a book, but F# for fun and profit has a lot of examples, although I guess that language is already sort of a bridge between the functional world and the .NET framework

e- I guess there's an eBook as well!

baka kaba fucked around with this message at 21:09 on Aug 22, 2016

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

Suspicious Dish posted:

yes, but are they willing to put in the amount of effort required to make POWER a useful platform to develop on? they haven't even made ARM useful yet even though they ship an SDK for it

Historically the Android team was actively hostile to the NDK, and while the post-chromeos NDK team is now actively trying to make it good they don't really have enough people working on it. Somehow I don't think the same would apply to things they have thousands of people using internally.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


rt4 posted:

There's a bunch of books in existence on modeling problem domains in the course of designing object oriented software. Does the same sort of reading material exist for functional programming? All the stuff I can find is about languages or algorithms. This seems to leave a very large hole when it comes to building usable software.

Functional and Reactive Domain Modeling

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Plorkyeran posted:

Historically the Android team was actively hostile to the NDK

wtf? why? Isn't it a really popular SDK? I thought they were trying and doing bad at it.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

Suspicious Dish posted:

wtf? why? Isn't it a really popular SDK? I thought they were trying and doing bad at it.

The NDK was supposed to be just a last resort for using pre-existing libraries with no Java equivalent, and they were unhappy that it had to exist at all because everyone should just be writing Java.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

rt4 posted:

There's a bunch of books in existence on modeling problem domains in the course of designing object oriented software.

What are some good ones?

spiritual bypass
Feb 19, 2008

Grimey Drawer

Thermopyle posted:

What are some good ones?

Designing Object-Oriented Software by Wirfs-Brock, Wilkerson, and Wiener
Object Thinking by David West
Object Models by Peter Coad

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Plorkyeran posted:

The NDK was supposed to be just a last resort for using pre-existing libraries with no Java equivalent, and they were unhappy that it had to exist at all because everyone should just be writing Java.

This is Sun Microsystems levels of naivety.

mystes
May 31, 2006

Suspicious Dish posted:

This is Sun Microsystems levels of naivety.
Don't you want your Android app to be 100% Pure JavaTM certified? You can use this nifty logo:

mystes fucked around with this message at 02:24 on Aug 24, 2016

ButtWolf
Dec 30, 2004

by Jeffrey of YOSPOS
Terrible noob here. I'm wanting to change an image based on a selection from the drop down menu ala KTM motorcycles

I have the image on there fine, but as I go down the list the image follows the selection, I want the image to be in a fixed place. I'm using HTML and CSS only cause I don't know poo poo. Is this possible and is it super easy?
Technically what i need is an image to stay in one spot directly under the menu, then overlay text on it that changes (Using zindex, I kind of know how to do that).

ButtWolf fucked around with this message at 15:59 on Aug 24, 2016

nielsm
Jun 1, 2009



ButtWolf posted:

Terrible noob here. I'm wanting to change an image based on a selection from the drop down menu ala KTM motorcycles

I have the image on there fine, but as I go down the list the image follows the selection, I want the image to be in a fixed place. I'm using HTML and CSS only cause I don't know poo poo. Is this possible and is it super easy?
Technically what i need is an image to stay in one spot directly under the menu, then overlay text on it that changes (Using zindex, I kind of know how to do that).

I assume you mean the megamenu opening from the top bar, which changes image depending on the model name you're pointing at.
You can't do anything quite like that without some Javascript. If you only want the dynamic fixed-position text/image to be visible while the user is pointing at the item it's doable with pure CSS, but to make it stick after the mouse moves away you need a script.


With pure CSS, the method would basically be to have the menu items and the dynamic item be in a box with position anchor, i.e. have "position:relative;" on the menu box. Then you can lay out the menu items with regular content flow, like inline-boxes or whatever, but have the dynamic content for each item be a child element of the item. Since the outer box is the positioning anchor, you can use "position:absolute;" on the dynamic parts and have them all placed on the same site, and be visible only when the menu item has :hover pseucoclass.

nielsm fucked around with this message at 17:06 on Aug 24, 2016

ButtWolf
Dec 30, 2004

by Jeffrey of YOSPOS

nielsm posted:

I assume you mean the megamenu opening from the top bar, which changes image depending on the model name you're pointing at.
You can't do anything quite like that without some Javascript. If you only want the dynamic fixed-position text/image to be visible while the user is pointing at the item it's doable with pure CSS, but to make it stick after the mouse moves away you need a script.


With pure CSS, the method would basically be to have the menu items and the dynamic item be in a box with position anchor, i.e. have "position:relative;" on the menu box. Then you can lay out the menu items with regular content flow, like inline-boxes or whatever, but have the dynamic content for each item be a child element of the item. Since the outer box is the positioning anchor, you can use "position:absolute;" on the dynamic parts and have them all placed on the same site, and be visible only when the menu item has :hover pseucoclass.

Thank you very much.

feedmegin
Jul 30, 2008

rjmccall posted:

almost exclusively C on other Unixes

Uhhh KDE (and clang/llvm! and even gcc these days, if I recall) would partially disagree with you on this one ;)

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.
This is kinda a programming question. I'm wondering how to handle this build process.

I have a lot of wav files that I want to convert to ogg. Using some kind of build system seems appropriate, because I want to be able to do an incremental build and save a lot of time.

But which one should I use? There are so many, and they all seem so terrible. I'm on Windows 10 and using Visual Studio for my code. We used jam at my old job and it was incomprehensible to me.

I want to basically say: for each wav in these folders (recursive of course), create an ogg in the corresponding target folder, if the ogg file doesn't exist or is out of date. Also, delete any oggs that don't correspond to a wav (in case I delete a wav). So obviously I need to be able to create my own rules for the build (for the wav to ogg conversion).

Also there are other miscellaneous asset files that I just want to automate copying over to the proper destinations. I just want to automate the whole process of building the non-executable part of my program.

I could do this in C++ because that's what I am familiar with.. but that doesn't seem like the right tool for this job.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

baby puzzle posted:

This is kinda a programming question. I'm wondering how to handle this build process.

I have a lot of wav files that I want to convert to ogg. Using some kind of build system seems appropriate, because I want to be able to do an incremental build and save a lot of time.

But which one should I use? There are so many, and they all seem so terrible. I'm on Windows 10 and using Visual Studio for my code. We used jam at my old job and it was incomprehensible to me.

I want to basically say: for each wav in these folders (recursive of course), create an ogg in the corresponding target folder, if the ogg file doesn't exist or is out of date. Also, delete any oggs that don't correspond to a wav (in case I delete a wav). So obviously I need to be able to create my own rules for the build (for the wav to ogg conversion).

Also there are other miscellaneous asset files that I just want to automate copying over to the proper destinations. I just want to automate the whole process of building the non-executable part of my program.

I could do this in C++ because that's what I am familiar with.. but that doesn't seem like the right tool for this job.

Make a batch file that does this and have visual studio call it as a post-build event https://msdn.microsoft.com/en-us/library/h7dhf0ty.aspx.

Linear Zoetrope
Nov 28, 2011

A hero must cook

baby puzzle posted:

This is kinda a programming question. I'm wondering how to handle this build process.

I have a lot of wav files that I want to convert to ogg. Using some kind of build system seems appropriate, because I want to be able to do an incremental build and save a lot of time.

But which one should I use? There are so many, and they all seem so terrible. I'm on Windows 10 and using Visual Studio for my code. We used jam at my old job and it was incomprehensible to me.

I want to basically say: for each wav in these folders (recursive of course), create an ogg in the corresponding target folder, if the ogg file doesn't exist or is out of date. Also, delete any oggs that don't correspond to a wav (in case I delete a wav). So obviously I need to be able to create my own rules for the build (for the wav to ogg conversion).

Also there are other miscellaneous asset files that I just want to automate copying over to the proper destinations. I just want to automate the whole process of building the non-executable part of my program.

I could do this in C++ because that's what I am familiar with.. but that doesn't seem like the right tool for this job.

I mean, in a weird way this is what Make is for. It's not just for building C and C++ programs. The .wav -> .ogg thing is almost in direct correspondence to .c -> .o just with a different utility than invoking the compiler. Same thing with the "copy file a to location b if it doesn't exist" idea. I don't know how much flexibility Visual Studio's make (nmake?) has, though, can it invoke arbitrary utilities? Not sure. I don't like Make much anyway.

But pulling out literally any programming language is fine too. Python or Go or anything with a straightforward library to manipulate the filesystem works well, or Powershell/batch if you want.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
If you're using msbuild already, might as well continue to use it for this task instead of bodging in an entirely different build system.

How I'd do it:
- Write a program to process a single wav. (You'll want this encapsulated in a standalone program in case you want to move to a different build system or something like that.)
- Write a build task that invokes your program.
- Add your task as the thing to do for *.wav files in your project.

That way, you leave it up to the build system as to when everything needs to be re-built, instead of having to write all the logic for it yourself.

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.

Jsor posted:

I mean, in a weird way this is what Make is for. It's not just for building C and C++ programs. The .wav -> .ogg thing is almost in direct correspondence to .c -> .o just with a different utility than invoking the compiler. Same thing with the "copy file a to location b if it doesn't exist" idea. I don't know how much flexibility Visual Studio's make (nmake?) has, though, can it invoke arbitrary utilities? Not sure. I don't like Make much anyway.

But pulling out literally any programming language is fine too. Python or Go or anything with a straightforward library to manipulate the filesystem works well, or Powershell/batch if you want.

Well yeah. I want to use something like make. But also I just want to just get the job done simply.

edit: maybe nmake can do what I want ee: i mean of course it probably can, but I think I'll just settle for it. I haven't written a makefile for decades at this point.

baby puzzle fucked around with this message at 17:50 on Aug 25, 2016

baby puzzle
Jun 3, 2011

I'll Sequence your Storm.
e: nevermind I'm just shitposting now

baby puzzle fucked around with this message at 20:55 on Aug 25, 2016

Mr. Crow
May 22, 2008

Snap City mayor for life
What (if any) conferences are worth going to these days? As a DevOps person? .NET?

I haven't been to any of the big ones so my perspective is likely skewed but I haven't found any of the ones I've been to particularly helpful or more interesting than just catching highlights or reading blogs on the internet.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Mr. Crow posted:

What (if any) conferences are worth going to these days? As a DevOps person? .NET?

I haven't been to any of the big ones so my perspective is likely skewed but I haven't found any of the ones I've been to particularly helpful or more interesting than just catching highlights or reading blogs on the internet.

For DevOps you basically have to go to reInvent. Hashiconfs are optional as are DevOps Days and Monitorama.

Peristalsis
Apr 5, 2004
Move along.
I may have a small project coming up to automate the sending of text messages for a research lab. I don't send text messages myself, so I'm not very familiar with them, but it looks like there are approximately a thousand ways I could do this, from weird, sketchy looking "free text!!1!" web sites, to Google Voice, to carrier specific web sites. Is there an accepted best practice for something like this? Is using curl from a program the right way to do this, or are there APIs and/or libraries I should look at instead?

I don't necessarily need the easiest of all possible solutions, but I do need reliability. This is in support of research that will be published, and I don't want missed, late, or mangled texts.

Edit: If it matters, the texts will be sent to iPhones running on Verizon.

Peristalsis fucked around with this message at 16:00 on Aug 26, 2016

zerofunk
Apr 24, 2004
Haven't actually used it myself, but Twilio should make that pretty easy I think.

spiritual bypass
Feb 19, 2008

Grimey Drawer
I've had really good experiences with Twilio. I've also had somewhat-less-good experiences sending messages to carrier-specific email addresses which are converted to SMS.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
I've been happy with Plivo, if you want an alternate to Twilio. Rates seem to be pretty standard across the industry. Plivo gives you a $5 credit when you create your account, which can be used for testing and setting up. Since a given SMS usually costs a penny or two, that goes a long way if you have a low message volume. Maybe Twilio does something similar; I didn't investigate.

ExcessBLarg!
Sep 1, 2001

feedmegin posted:

Uhhh KDE (and clang/llvm! and even gcc these days, if I recall) would partially disagree with you on this one ;)
He's right, the vast majority of code running on a modern "Unix" system, by cycle count, is C language code. This includes the kernel, OS libraries, OS services, windowing system, etc.

Actual applications, including KDE, may be trending towards non-C languages, but those are still all built on C libraries.

hedgecore
May 2, 2004
Anyone been using an iPad for working on remote web servers via SSH on the go? Not for extended dev periods, just for maintenance and the like so I don't need to bring a laptop around. I did some googling and most of the information out there seems to be from a few years back.

Recommendations for external bluetooth keyboards? I don't want or need it integrated into the case and I really hated the keys on the Apple smart cover keyboard. I'm looking at Microsoft's Universal Mobile Keyboard. I saw concerns for a few years back that some bluetooth keyboards weren't translating keystrokes accurately to vim. Is that still a thing?

And any takes on why I should consider Prompt 2 ($15) over the free Serverauditor? Or another app? Multiple session windows with an easy way to switch among them would be nice.

Adbot
ADBOT LOVES YOU

ExcessBLarg!
Sep 1, 2001
I bought the OG Prompt for $8 shortly before Panic announced its discontinuation in favor of Prompt 2 (which was the iOS 7 redesign despite iOS 7 being out for nearly a year at the time). I was pretty miffed at the obvious bait and switch maneuver and $10 upgrade price, even for people who had recently bought the first version. Kind of surprised they didn't do it again for iOS 9 support.

Anyways, OG Prompt was fine for what it was but I personally switched to a Chromebook for which there is a free SSH client, plus VNC and RDP clients available if you need those. Given that a Chromebook is cheap, still pretty small compared to a beefy laptop, comes with a keyboard, and has quite long battery life, it's great to take on site where I don't really care if it gets abused.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply