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
Catalyst-proof
May 11, 2011

better waste some time with you

trex eaterofcadrs posted:

at some point your software produces artifacts, what ever repository is used to make those and who ever has access to that one is the control

you're being trolled

Adbot
ADBOT LOVES YOU

Sapozhnik
Jan 2, 2005

Nap Ghost

Jonny 290 posted:

well idk the exact term in this context but i was twiddling the clock dividers for PWM on the arduino last night

code:

Setting 	Divisor 	Frequency
0x01 	 	1 	 	31250
0x02 	 	8 	 	3906.25
0x03  		64 	 	488.28125
0x04  		256 	 	122.0703125
0x05 	 	1024 	 	30.517578125

TCCR1B = TCCR1B & 0b11111000 | <setting>;

here's a nickel kid, buy yourself a real microcontroller

e.g. EFM32 or STM32, both of which are 32 bit ARM chips that have real compilers. Also the EFM32 owns so hard it's kind of not fair to Atmel and Microchip and the like.

like I suppose if simply have to use an 8-bit micro then you could do a lot worse than an AVR, but don't ever use a PIC or a PSoC, those things are total garbage.

trex eaterofcadrs
Jun 17, 2005
My lack of understanding is only exceeded by my lack of concern.

WHOIS John Galt posted:

you're being trolled

what can i say i'm a sucker for shaggar wrongposts

Shaggar
Apr 26, 2006
they can still run their own local builds on their own out of date versions of things. like if they check out the source to a module thats in progress into a local repo, change it, build it, and then use it in another project of theirs. then not only are they using the wrong version of a lib, but now they've got another project thats dependent on it. a project they probably havent checked into the "control" repo in a week. so the old version that "control" has successfully passes all your CI stuff cause its based on the old version of the lib that has now been forked. Then the guy does a big sync of everything and nothing works and you have to have him redo everything based on the changes that were made to the lib that he didnt know about.

if theres a way to have git not allow local repos then ok thats cool. but if not, then your only option is telling the devs not to do a bad thing which wont work. you need real source control which means one repository that everyone MUST check in to which guarantees that conflicts and build/test problems are discovered quickly.

Sapozhnik
Jan 2, 2005

Nap Ghost
svn seems like a good source control system to use if you're forced to manage bad programmers, yes

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp

Mr Dog posted:

here's a nickel kid, buy yourself a real microcontroller

e.g. EFM32 or STM32, both of which are 32 bit ARM chips that have real compilers. Also the EFM32 owns so hard it's kind of not fair to Atmel and Microchip and the like.

like I suppose if simply have to use an 8-bit micro then you could do a lot worse than an AVR, but don't ever use a PIC or a PSoC, those things are total garbage.

its dumb to be overconfident and bite off more than you could chew, which is what i'd be doing playing with that beefy poo poo with my skill level.

also i have that dilbert posted on the outside of my cube

Rufus Ping
Dec 27, 2006





I'm a Friend of Rodney Nano

Jonny 290 posted:

well idk the exact term in this context but i was twiddling the clock dividers for PWM on the arduino last night

code:

Setting 	Divisor 	Frequency
0x01 	 	1 	 	31250
0x02 	 	8 	 	3906.25
0x03  		64 	 	488.28125
0x04  		256 	 	122.0703125
0x05 	 	1024 	 	30.517578125

TCCR1B = TCCR1B & 0b11111000 | <setting>;

code:
Speed   Sample rate**  Speed   Sample rate**
 5        50000         4        40000
 6        62500         3        32000
 7        78125         2        25600
 8       ~97656*        1        20480
 9      ~122070*        0        16384
10      ~152588*       -1       ~13107*
11      ~190735*       -2       ~10486*


Table footnotes:
* Since sample rates are restricted to integers only, these have been rounded to the nearest integer.
** Sample rate is based on 50,000 Hz being the true speed, not the usual 44,100 used with audio CD's.

JawnV6
Jul 4, 2004

So hot ...

Lysidas posted:

nope

git owns, svn is trash, delete all copies of svn everywhere in case any moron is tempted to ever use it again

i have extra backup repositories on a usb drive for stuff thats really important. plug it in, mount it, git push usb (since i have 'usb' set up as a remote repo for projects that i back up here)

"what do you mean their are multiple remote repositories?" -a literal idiot child

this seems like fussin for fussin sake

Sapozhnik
Jan 2, 2005

Nap Ghost

Jonny 290 posted:

its dumb to be overconfident and bite off more than you could chew, which is what i'd be doing playing with that beefy poo poo with my skill level.

also i have that dilbert posted on the outside of my cube

EFM32 isn't any harder to work with than AVR, if anything having a unified ROM/RAM/peripheral space actually makes things a lot easier. The Arduino toolchain is hiding a lot of the Harvard nastiness from you, but it's still there beneath the surface.

Get an EFM32 starter kit and go nuts. You get a whole buncha pins and even a fancy LCD and poo poo.

Don't get me wrong, I mean, from what I've seen of it AVR is nice enough and it has a very mature ecosystem, but Cortex-M chips are just better. The only thing I don't particularly like about EFM32 is that they only support ISP over SWD instead of JTAG, and the third party USB core they licensed for the Giant/Leopard Gecko parts is kind of poo poo, but that's way past the level you're currently dealing with.

Tiny Bug Child
Sep 11, 2004

Avoid Symmetry, Allow Complexity, Introduce Terror
svn is absolutely fine. i'm sure git is fine too. who cares, you just update files and you check them in

Shaggar
Apr 26, 2006
in large opensores projects, time has no value so dealing with those kinds of problems isnt a big deal. in the real world if someone did that you probably should fire them.

Shaggar
Apr 26, 2006
theres basically no benefit to a distributed source repo except for the ability to easily fork your favorite open sores

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe

Shaggar posted:

theres basically no benefit to a distributed source repo except for the ability to easily fork your favorite open sores

Actually yes there is Shaggar, when you are on a lovely internet connection in the turd world that fucks up your svn sync all the time it's useful to have local repos to commit to.

double sulk
Jul 2, 2010

I like when git wipes out your local repo

Zaxxon
Feb 14, 2004

Wir Tanzen Mekanik

Mr Dog posted:

EFM32 isn't any harder to work with than AVR, if anything having a unified ROM/RAM/peripheral space actually makes things a lot easier. The Arduino toolchain is hiding a lot of the Harvard nastiness from you, but it's still there beneath the surface.

what harvard nastiness are you refering to? I've worked with STM32s and AVRs a whole bunch and the biggest difference between the two is that avr-studio is a nicer IDE.

well, nicer than Ride7.

Zaxxon fucked around with this message at 18:08 on Nov 5, 2012

Catalyst-proof
May 11, 2011

better waste some time with you

gucci void main posted:

I like when git wipes out your local repo

yes i too love that explicit feature of git. there's no such thing as user error, or even users literally not knowing how their tools work. it's all the tools fault. just keep blaming the tools

owenkun
Feb 26, 2007

The scent of strawberry milk.
hey shaggar: i always see people complain about maven downloading the wrong version of their jars and poo poo.

is that a thing, or are they just bad at computers?

Shaggar
Apr 26, 2006

Hard NOP Life posted:

Actually yes there is Shaggar, when you are on a lovely internet connection in the turd world that fucks up your svn sync all the time it's useful to have local repos to commit to.

like i said, these problems dont affect open sores cause their time isnt valuable.

Sapozhnik
Jan 2, 2005

Nap Ghost

Zaxxon posted:

what harvard nastiness are you refering to? I've worked with STM32s and AVRs a whole bunch and the biggest difference between the two is that avr-studio is a nicer IDE.

well, nicer than Ride7.

If you have a lot of const data in your firmware, then it gets copied into your RAM at reset which wastes RAM. You can stick it into flash, but then you have to remember to either use pgm_read() and friends, or remember to use a different, flash-reading version of basically every libc function that takes a pointer.

The only time I ever really dealt with AVR was this one time when I was doing a really nasty hack to someone else's USB HID board that used some LUFA-based firmware. Ordinarily it scanned a bunch of GPIOs and dumped them straight into a HID report, but because StepMania's development is such an utter trainwreck I can't really add a driver "upstream". So, instead I made it emulate a different HID which WAS supported (badly, they didn't use hid.dll, they used some libusb-win32 abomination instead). Naively scanning source bits and setting destination bits took longer than the poll period, though, so I broke it into sub-blocks and did some nasty poo poo with LUTs and shifts and stuff to shave a few tens of microseconds.

This is also the part where I rant about Windows' loving USB driver model and how HID gets universally abused in USB-land the same way HTTP gets universally abused in TCP/IP land.

Sniep
Mar 28, 2004

All I needed was that fatty blunt...



King of Breakfast

owenkun posted:

hey shaggar: i always see people complain about maven downloading the wrong version of their jars and poo poo.

is that a thing, or are they just bad at computers?

java downloading the wrong versions of itself is ubiquitous - that happens when you have 0 backwards compatibility and need every single separate version of your shared libs depending on when anything specifically was written

Sapozhnik
Jan 2, 2005

Nap Ghost
also lol IDEs

handrolled makefiles and vi code 2 the metal every day :rock:

0xB16B00B5
Aug 24, 2006

by Y Kant Ozma Post

Mr Dog posted:

also lol IDEs

handrolled makefiles and vi code 2 the metal every day :rock:

thats why i write a lot of node

Shaggar
Apr 26, 2006

owenkun posted:

hey shaggar: i always see people complain about maven downloading the wrong version of their jars and poo poo.

is that a thing, or are they just bad at computers?

if they havent specified a version number in the pom or if they've specified a range of versions, it will download whatever is the latest. if the specify a specific version it will download that version.

if there is a version conflict with a lib used by a dependency im not sure what the resolution rules are for 2 dependencies w/ conflicting libs but if you are also using that lib and have it specified at the pom level then your version wins.

ex: I have a dependency on slf4j-api of some version and one of my other dependencies has a dependency on slf4j-api of some other version, my version wins. if i have 2 dependencies that each depend on slf4j-api of different versions, idk what it does. probably good to know though.

you can always manually exclude dependencies that exist in other projects if they cause problems though. ex: when your dumbshit teammates forget to mark junit in their lib as test.

but if you specify slf4j-api of a specific version in your pom it will always use that version.

0xB16B00B5
Aug 24, 2006

by Y Kant Ozma Post
pom is a terrible drink and sounds like even worse java poo poo

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

0xB16B00B5 posted:

thats why i write a lot of node

because you're bad at computers and want to tell everyone?

Sniep
Mar 28, 2004

All I needed was that fatty blunt...



King of Breakfast
alternatively, pom is wonderful

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe

Shaggar posted:

ex: I have a dependency on slf4j-api of some version and one of my other dependencies has a dependency on slf4j-api of some other version, my version wins. if i have 2 dependencies that each depend on slf4j-api of different versions, idk what it does. probably good to know though.

I'm pretty sure it picks the newest version. But it would be nice if Maven could warn you of that poo poo.

Shaggar
Apr 26, 2006
yeah. having something like an api version field might work. that way you can say like the poms for some lib version 1.0.0 thru 1.0.50 all have their api.version=1.0 so you can switch them out at will but 1.1.0 is api-version=1.1 so it might not be backwards compatible.

it still wont stop problems like oh we fixed a bug in 1.0.45 and the api is the same, but some edge case is fixed and now ur code is broke cause it handled that edge case.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

Mr Dog posted:

but don't ever use a PSoC, those things are total garbage.

troof x 1000

the psoc 1 is useless trash, the psoc 3 is overpriced and underpowered, the psoc 5 is engineering silicon masquerading as an actual product with an utter trash analog section

the on-chip digital logic blocks are kind of nifty but not remotely worth the garbage toolchain, numerous terrible bugs, libraries written in bangalore by java programmers, etc

Zaxxon
Feb 14, 2004

Wir Tanzen Mekanik

Mr Dog posted:

If you have a lot of const data in your firmware, then it gets copied into your RAM at reset which wastes RAM. You can stick it into flash, but then you have to remember to either use pgm_read() and friends, or remember to use a different, flash-reading version of basically every libc function that takes a pointer.

it's the same with an STM32 though. You just don't have to use flash so much because you have more ram.

oh and HID is a goddamn nightmare to work with, everyone does it all wrong in new and unique ways.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
hid and cdc and numerous other things wrt usb all get taken out to the woodshed. people want to expend the minimum possible engineering effort to get from point a to point b and welp,

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
Let's Throw an FTDI Chip On The Board And See What Happens

Zaxxon
Feb 14, 2004

Wir Tanzen Mekanik

Otto Skorzeny posted:

hid and cdc and numerous other things wrt usb all get taken out to the woodshed. people want to expend the minimum possible engineering effort to get from point a to point b and welp,

you would think just using regular old endpoints could be made simple at the OS level. I mean it's pretty easy from uC side.

trex eaterofcadrs
Jun 17, 2005
My lack of understanding is only exceeded by my lack of concern.

Shaggar posted:

yeah. having something like an api version field might work. that way you can say like the poms for some lib version 1.0.0 thru 1.0.50 all have their api.version=1.0 so you can switch them out at will but 1.1.0 is api-version=1.1 so it might not be backwards compatible.

it still wont stop problems like oh we fixed a bug in 1.0.45 and the api is the same, but some edge case is fixed and now ur code is broke cause it handled that edge case.

osgi is much better about this, each module gets its own classloader and can specify precisely which version it needs, and interaction between modules is via the osgi export/import functionality, so you can sequester dogshit libraries like slf4j

Shaggar
Apr 26, 2006
slf4j is fine. also dealing w/ multiple classloaders in a single module sounds horrific.

Max Facetime
Apr 18, 2009

wtf was the deal with osgi anyway?

Nomnom Cookie
Aug 30, 2009



it's every solution to every classloading problem ever, all in one spec

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe

Shaggar posted:

slf4j is fine. also dealing w/ multiple classloaders in a single module sounds horrific.

Yeah they do a good job of being binary compatible with older versions so even if you mix it up it won't break your poo poo.

Rufus Ping
Dec 27, 2006





I'm a Friend of Rodney Nano
ssj4

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006

Hard NOP Life posted:

Yeah they do a good job of being binary compatible with older versions so even if you mix it up it won't break your poo poo.

also theres cool stuff like jcl-over-slf4j or whatever which basically hijacks commons-logging bindings and redirects them to slf4j.

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