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
ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer

vapid cutlery posted:

are you seriously blaming the library for your shortcomings ahahaha

Not [usually] my code. Led to a few "why does this only crash on an iPhone XX with a [faster/slower] processor" style bugs, though.

Adbot
ADBOT LOVES YOU

Nomnom Cookie
Aug 30, 2009



Carthag posted:

pro tip: dont share objects between threads

Suspicious Dish
Sep 24, 2011

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

Carthag posted:

pro tip: dont share NSMutable objects between threads

whoa thnks

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang




:confused: its totally find to share immutable objects dude

FamDav
Mar 29, 2008

Bream posted:

How about the c++11 thread features?

standardizes a lot of things for threading/synchronization/atomic operations, asserts thread safety of certain types of operations on standard containers, and the futures library may or may not be a pile of dicks.

imo it really just makes it easier for others to create 3rd party concurrent programming libraries.

Condiv
May 7, 2008

Sorry to undo the effort of paying a domestic abuser $10 to own this poster, but I am going to lose my dang mind if I keep seeing multiple posters who appear to be Baloogan.

With love,
a mod


http://www.dadhacker.com/blog/?p=1911

<clownspace>programmer hero gives up his thanksgiving to save his company money. working for free instead of being with his family is one of the high-points of his career.</clownspace>

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



if he didnt at least parlay that into some kind of promotion or at least a raise or at the very least a huge bonus, hes a giant pussy and a useful idiot

Zombywuf
Mar 29, 2008

Who needs instructions? https://github.com/jbangert/trapcc

FamDav
Mar 29, 2008
I showed Nate how to multiply by ten, a hundred, and one thousand using a little inline recursion trick, and he called me a sick gently caress.

FamDav
Mar 29, 2008

thats p cool and i think this is p cool too

http://groups.csail.mit.edu/mac/users/bob/sliding-blocks.pdf

MononcQc
May 29, 2007

protips from Tandem regarding reliability in Why Computer Stops, and What Can Be Done About It?. It's not all about avoiding errors while writing code, it's about dealing with them when they inevitably happen in production, too:

quote:

System administration, which includes operator actions, system configuration, and system maintenance was the main source of failures — 42%. Software and hardware maintenance was the largest category.

[...]

The following sources of downtime are reported:
code:
    Administration: 42% (31 years)
        Maintenance: 25%
        Operations: 9% (likely under-reported)
        Configuration: 8%
    Software: 25% (50 years)
        Vendor: 21%
        Application: 4% (likely under-reported)
    Hardware: 18% (73 years)
        Central: 1%
        Disc: 7%
        Tape: 2%
        Comm Controllers: 6%
        Power Supply: 2 %
    Environment: 14% (87 years)
        Power: 9% (likely under-reported)
        Communications: 3%
        Facilities: 2%
    Unknown: 3%
[...]

The implications of these statistics are clear: the key to high-availability is tolerating operations and software faults.

The paper also reports that only 1/132 bugs were not Heisenbugs:

quote:

most production software faults are soft. If the program state is reinitialized and the failed operation retried, the operation will usually not fail the second time.

It then goes into a full recommendation of process pairs with persistence and transactions in terms of the best solution available, as it can greatly help get the same failover/takeover reliability guarantees hardware can get.

Read that paper.

Cybernetic Vermin
Apr 18, 2005

MeruFM posted:

Engineering reliability of real world parts seems very different than software reliability.
To some extent you are looking at the reliability problem from the wrong perspective. Take email, it is an incredibly lovely old crufty system, but it is one where it is well understood how to make emails either safely delivered or fail in a manageable way. As long as you have appropriately solid secondary storage and a reasonable implementation of the specifications and intents of the specifications email really does work, despite being a system with excessively many individually flawed cooperating components. Basically the real engineering amounts to the decision about who is responsible for the mail, and some best practices on how the responsibility should be handled.

As noted before, bridges are not safe because they are made out of beams and bolts that are individually perfect, they are safe because the larger structure is designed taking flaws into account.

Formal verification in the small, trying to take assembly and verify its correctness, is rightly an increasingly dead field of research. Even if perfect programs are written random cosmic radiation will still cause unpredictable errors now and then. Instead system interactions are studied, doing things like designing protocols where it is ensured that any global error states are transient, or that certain operation sequences are impossible, and so on. It is also pretty fun stuff, where raw code verification was always a bit Quixotic stuff like handling byzantine failures in distributed state machines and such all seems relatively manageable.

Jonnty
Aug 2, 2007

The enemy has become a flaming star!

has anybody said "bro do you even test" yet

double sulk
Jul 2, 2010

Jonnty posted:

has anybody said "bro do you even test" yet

test on production

Suspicious Dish
Sep 24, 2011

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

https://github.com/jbangert/trapcc/blob/master/trapcc/trapcc.rb

Ruby code:
#!/usr/bin/env ruby
Nice!

tef
May 30, 2004

-> some l-system crap ->
http://www.mysqlperformanceblog.com/2012/07/05/impact-of-memory-allocators-on-mysql-performance/


tee hee

tef
May 30, 2004

-> some l-system crap ->

tef posted:

http/0.9

aka, just some html without any headers

so, you send 'get /foo' and if the first line doesn't look like HTTP/1.x 200 OK, welp it's probably html.

*cries*

this turns out to be a known bug with nginx

request a url with 5k characters, nginx refuses to parse it as http/1.0 or above, and so drops the headers from the response. as a result you get a blank line and then some html as a response. browsers still support http/0.9 so no-one notices.

so i'm implementing http/0.9 support to crawl tumblr.

computers

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe
Holy poo poo that's terrible

Zombywuf
Mar 29, 2008

This is how the web really works.

Nomnom Cookie
Aug 30, 2009



Carthag posted:

:confused: its totally find to share immutable objects dude

actors are the way to go imo. yes sharing immutable state is a problem

Catalyst-proof
May 11, 2011

better waste some time with you

Nomnom Cookie posted:

yes sharing immutable state is a problem

how!!

Garbd
Dec 29, 2008

objective-c is 30 years old today

it is a good language

raminasi
Jan 25, 2005

a last drink with no ice

Nomnom Cookie posted:

actors are the way to go imo. yes sharing immutable state is a problem

wth is immutable state

double sulk
Jul 2, 2010

GrumpyDoctor posted:

wth is immutable state

a state which is immutable

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



Nomnom Cookie posted:

sharing immutable state is a problem

tell me why

i might be really dumb and have missed out on some insight but i dont see a problem

Vanadium
Jan 8, 2005

If your shared immutable state lives in a garbage collected heap, isn't it suddenly kinda mutable

Edit: or maybe it's refcounted

Vanadium fucked around with this message at 22:52 on Feb 22, 2013

Opinion Haver
Apr 9, 2007

tef posted:

this turns out to be a known bug with nginx

request a url with 5k characters, nginx refuses to parse it as http/1.0 or above, and so drops the headers from the response. as a result you get a blank line and then some html as a response. browsers still support http/0.9 so no-one notices.

so i'm implementing http/0.9 support to crawl tumblr.

computers

??? i just sent a request with way more than 5k characters and it gave me http/1.0 back

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



Vanadium posted:

If your shared immutable state lives in a garbage collected heap, isn't it suddenly kinda mutable

Edit: or maybe it's refcounted

in objc its refcounted and will be around unless you done hosed up and declared something weak that should be strong

qntm
Jun 17, 2009

yaoi prophet posted:

??? i just sent a request with way more than 5k characters and it gave me http/1.0 back

5K in the request body or 5K in the URL?

JawnV6
Jul 4, 2004

So hot ...

qntm posted:

5K in the request body or 5K in the URL?

and are your "characters" just boring ol' single bytes or

Opinion Haver
Apr 9, 2007

i sent a request for tumblr.com/tagged/5500 q's, got HTTP/1.0 400. same with 5500 カs

Condiv
May 7, 2008

Sorry to undo the effort of paying a domestic abuser $10 to own this poster, but I am going to lose my dang mind if I keep seeing multiple posters who appear to be Baloogan.

With love,
a mod


Vanadium posted:

If your shared immutable state lives in a garbage collected heap, isn't it suddenly kinda mutable

Edit: or maybe it's refcounted

Is there a problem if weakreferences are accessed as options or maybe types?

Cybernetic Vermin
Apr 18, 2005

a way way way underused trick in programming languages is using reference counting and allowing mutating only objects with a reference count equal to 1, all other mutations are copy-on-write

reference counting only has two issues; it is expensive and it requires acyclic data structures. the above already enforces all data being acyclic, and various language design tricks, such as proper vector support, encourages sufficiently large objects that efficiency can be maintained

i only know of one language that does this, and the guy that designed it is mad rich now.

tef
May 30, 2004

-> some l-system crap ->

yaoi prophet posted:

i sent a request for tumblr.com/tagged/5500 q's, got HTTP/1.0 400. same with 5500 カs

http://www.tumblr.com/impixu?T=1361...d1f660891bfbee4

xf86enodev
Mar 27, 2010

dis catte!


ah, the crazy 80s

quote:

The keys to this software fault-tolerance are:
* Software modularity through processes and messages.
* Fault containment through fail-fast software modules.
* Process-pairs to tolerate hardware and transient software faults.
* Transaction mechanism to provide data and message integrity.
* Transaction mechanism combined with process-pairs to ease exception
handling and tolerate software faults.

quote:

There is considerable controversy about how to modularize software.
Starting with Burroughs' Esbol and continuing through languages like
Mesa and Ada, compiler writers have assumed perfect hardware and
contended that they can provide good fault isolation through static
compile-time type checking. In contrast, operating systems designers
have advocated run-time checking combined with the process as the unit
of protection and failure.

Although compiler checking and exception handling provided by
programming languages are real assets, history seems to have favored
the run-time checks plus the process approach to fault containment. It
has the virtue of simplicity -- if a process or its processor
misbehaves, stop it. The process provides a clean unit of modularity,
service, fault containment, and failure.

this is a nice paper to measure how far we've come in almost 30 years or not.

xf86enodev
Mar 27, 2010

dis catte!

xf86enodev posted:

how far we've come in almost 30 years


Socracheese
Oct 20, 2008

my theory of computation class prof threatened to make us program stuff for one of these:

https://www.youtube.com/watch?v=E3keLeMwfHY&t=8s

that rig is pretty sw8 tho. it can compute anything that's computable :allears:

Vanadium
Jan 8, 2005

Carthag posted:

in objc its refcounted and will be around unless you done hosed up and declared something weak that should be strong

No I mean the refcounts are shared between threads and mutable aren't they

double sulk
Jul 2, 2010

Socracheese posted:

my theory of computation class prof threatened to make us program stuff for one of these:

https://www.youtube.com/watch?v=E3keLeMwfHY&t=8s

that rig is pretty sw8 tho. it can compute anything that's computable :allears:

holy poo poo

Adbot
ADBOT LOVES YOU

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer

So is this a bug regarding query strings or urls in general?

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