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
0xB16B00B5
Aug 24, 2006

by Y Kant Ozma Post
no one has problems that need map reduce but god knows they shoehorn it in anyway

Adbot
ADBOT LOVES YOU

Max Facetime
Apr 18, 2009

google invented map reduce because their big tables kept getting bigger and bigger

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>

Shaggar posted:

the only time you can have non-blocking io is when you dont care what the result of the io operation is. this means it doesnt matter what any of the rest of your code does.

this is a new low

Zombywuf
Mar 29, 2008

If you've ever done "select foo, sum(bar) from ... group by foo" on a sufficiently large table on a multicore machine in MSSQL then you've used mapreduce.

0xB16B00B5
Aug 24, 2006

by Y Kant Ozma Post

Zombywuf posted:

If you've ever done "select foo, sum(bar) from ... group by foo" on a sufficiently large table on a multicore machine in MSSQL then you've used mapreduce.

also its my understanding that group by grouping sets () does that no matter what size your data

Zombywuf
Mar 29, 2008

0xB16B00B5 posted:

also its my understanding that group by grouping sets () does that no matter what size your data

It would only do it if the optimiser thinks it necessary to throw a "parallelism - distribute streams" into the query plan. I'm pretty sure grouping sets will be done by plain old single threaded aggregation techniques for small data sizes. Could be wrong though and I don't have a handy db to test on.

MononcQc
May 29, 2007

choosing node.js as your server platform

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
node seems ok for tiny little projects but i wouldn't want to build a big application with it

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Zombywuf posted:

code:
db.write(person_record);
db.write(fact_about_person_record);
Transactions avoid you ending up with nonsense in your db when one of those fails.

use a database that doesn't return success until a write has been flushed to disk in however many nodes you ask for a write quorum from

mongo can't do that because it's terrible, not because nosql

:smug: riak can do that, set your w-value to something non-zero

Win8 Hetro Experie posted:

also traditional race-conditions when updating any sort of sum over values

code:
db.put(key, value)
db.put(sumKey, db.get(sumKey) + value);

just use a crdt for the counter, like what riak_dt does

multiple nodes can increment the counter at the same time and not have race conditions

Zombywuf
Mar 29, 2008

Cocoa Crispies posted:

use a database that doesn't return success until a write has been flushed to disk in however many nodes you ask for a write quorum from

code:
for i in range(1, max_retries):
  if db.write(person_record):
    break
else:
  raise Ooops()

for i in range(1, max_retries):
  if db.write(fact_about_person_record):
    break
else:
  for i in range(1, max_retries):
    if db.delete(person_record):
      break
  else:
    ohgodwhatthefuckdoidonowiamnotgoodwithdata()

Catalyst-proof
May 11, 2011

better waste some time with you

Zombywuf posted:

code:
for i in range(1, max_retries):
  if db.write(person_record):
    break
else:
  raise Ooops()

for i in range(1, max_retries):
  if db.write(fact_about_person_record):
    break
else:
  for i in range(1, max_retries):
    if db.delete(person_record):
      break
  else:
    ohgodwhatthefuckdoidonowiamnotgoodwithdata()

hold up shaggar i got this one

nice p-language. your code? it's bad. it's not good. you know what's good? C#. everything else? bad. way to do a bad thing

Zombywuf
Mar 29, 2008

WHOIS John Galt posted:

hold up shaggar i got this one

nice p-language. your code? it's bad. it's not good. you know what's good? C#. everything else? bad. way to do a bad thing

The last sentence is actually right though. 8/9

Shaggar
Apr 26, 2006

WHOIS John Galt posted:

hold up shaggar i got this one

nice p-language. your code? it's bad. it's not good. you know what's good? C#. everything else? bad. way to do a bad thing

thanks

Lysidas
Jul 26, 2002

John Diefenbaker is a madman who thinks he's John Diefenbaker.
Pillbug
at last shaggar acknowledges that java is bad.

X-BUM-RAIDER-X
May 7, 2008

WHOIS John Galt posted:

hold up shaggar i got this one

nice p-language. your code? it's bad. it's not good. you know what's good? C#. everything else? bad. way to do a bad thing

you would've got me if i was at work where avatars don't load because of our firewall

tef
May 30, 2004

-> some l-system crap ->

WHOIS John Galt posted:

hold up shaggar i got this one

nice p-language. your code? it's bad. it's not good. you know what's good? C#. everything else? bad. way to do a bad thing

good show, but you missed 'this wouldn't be a problem with checked exceptions and stored procedures'

Shaggar
Apr 26, 2006
checked exceptions and stored procs ftw.

salted hash browns
Mar 26, 2007
ykrop
https://www.youtube.com/watch?v=5KlnlCq2M5Q

oh look

lol if you
Jun 29, 2004

I am going to remove your penis, in thin slices, like salami, just for starters.

Shaggar posted:

ant is not fine. ant is as far from fine as it gets.


posting from 103 represntin ANT what whaaaaaat

lol if you
Jun 29, 2004

I am going to remove your penis, in thin slices, like salami, just for starters.

lol if you posted:

posting from 103 represntin ANT what whaaaaaat

hey guys i got some sane default flags for rsync lemme just macro all that up in some fat rear end ANT scripT!


code:
    <macrodef name="_rsync">
        <attribute name="preview" default="false"/>
        <attribute name="src.dir"/>
        <attribute name="dest.username" default="user"/>
        <attribute name="dest.dir"/>
        <attribute name="dest.hosts"/>
        <attribute name="exclude" default=""/>
        <attribute name="ssh.key" default="/m1/homes/user/.ssh/id_dsa"/>
        <attribute name="parallel" default="false"/>
        <attribute name="thread.count" default="5"/>

        <sequential>
            <tstamp prefix="start">
                <format property="TIME" pattern="HH:mm:ss" locale="en"/>
            </tstamp>
            <echo message="rsync starting at: ${start.TIME}"/>

            <var name="exclude.list" value=""/>
            <for list="@{exclude}" param="exclude.element">
                <sequential>
                    <var name="exclude.list" value="${exclude.list} --exclude=@{exclude.element}"/>
                </sequential>
            </for>

            <property name="rsync.user" value="@{dest.username}@"/>

            <if><equals arg1="@{preview}" arg2="1"/>
                <then>
                    <for list="@{dest.hosts}" param="dest.host" parallel="@{parallel}" threadCount="@{thread.count}">
                        <sequential>
                            <exec executable="rsync" failonerror="true">
                                <env key="RSYNC_RSH" value="ssh -i @{ssh.key}"/>
                                <arg value="--verbose"/>
                                <arg value="--stats"/>
                                <arg value="--recursive"/>
                                <arg value="--delete"/>
                                <arg value="--links"/>
                                <arg value="--dry-run"/>
                                <arg value="--perms"/>
                                <arg value="--exclude=*.c"/>
                                <arg value="--exclude=*.cpp"/>
                                <arg value="--exclude=*.h"/>
                                <arg value="--exclude=*.java"/>
                                <arg line="${exclude.list}"/>
                                <arg value="@{src.dir}"/>
                                <arg value="${rsync.user}@{dest.host}:@{dest.dir}"/>
                            </exec>
                        </sequential>
                    </for>
                </then>
                <else>
                    <for list="@{dest.hosts}" param="dest.host" parallel="@{parallel}" threadCount="@{thread.count}">
                        <sequential>
                            <exec executable="rsync" failonerror="true" description="@{dest.host}">
                                <env key="RSYNC_RSH" value="ssh -i @{ssh.key}"/>
                                <arg value="--verbose"/>
                                <arg value="--stats"/>
                                <arg value="--recursive"/>
                                <arg value="--delete"/>
                                <arg value="--links"/>
                                <arg value="--exclude=*.c"/>
                                <arg value="--exclude=*.cpp"/>
                                <arg value="--exclude=*.h"/>
                                <arg value="--exclude=*.java"/>
                                <arg line="${exclude.list}"/>
                                <arg value="@{src.dir}"/>
                                <arg value="${rsync.user}@{dest.host}:@{dest.dir}"/>
                            </exec>
                        </sequential>
                    </for>
                </else>
            </if>

            <tstamp prefix="end">
                <format property="TIME" pattern="HH:mm:ss" locale="en"/>
            </tstamp>
            <echo message="rsync ending at: ${end.TIME}"/>
        </sequential>
    </macrodef>
*micdrops an office slinky on my way out the door to hotdog-on-a-stick*

Sapozhnik
Jan 2, 2005

Nap Ghost

Gazpacho posted:

In a cooperative multitasking system you have to insert explicit yields so that a long computation in one task can run concurrently with other tasks. The yields have to be tuned so that the computation is sufficiently granular.


|
|


In a preemptive multitasking system you have to insert explicit locks so that a data modification from one task does not run concurrently with others. The locks have to be tuned so that data synchronization is sufficiently granular.

this is actually legitimately pretty insightful, thanks

tef
May 30, 2004

-> some l-system crap ->
http://www.citusdata.com/blog/51-run-sql-on-mongodb :psyboom:

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp

more old lesbian glasses

Egan Yardley
Jun 11, 2010

i dunno if green threads are still cool in this thread but gevent-socketio + gunicorn = ownage get wrecked nerds

Zombywuf
Mar 29, 2008

Hello deadlocks, my old friend.

Max Facetime
Apr 18, 2009


Hibernate OGM with Infinispan, Ehcache and MongoDB support

Egan Yardley
Jun 11, 2010

I don't spawn threads that depend on another threads operation/result

that is just silly

GameCube
Nov 21, 2006

ruby trip report: "poetry mode" can suck a dick

Rufus Ping
Dec 27, 2006





I'm a Friend of Rodney Nano

TONSIL HOCKEY posted:

I don't spawn threads that depend on another threads operation/result

that is just silly

embarrassingly so

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
guys seriously though im hella burnt out on programming and i dont want to do it any more and im finding it difficult to move into management :(

Catalyst-proof
May 11, 2011

better waste some time with you

rotor posted:

guys seriously though im hella burnt out on programming and i dont want to do it any more and im finding it difficult to move into management :(

yah it sucks

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
difficult like "ugh god, this sucks, i dont want to do this either"

THE PLATFORM MASTER
Jun 3, 2008

lmao @ PHP having annotations embedded in comments

PHP code:
/**
 * @Column(type="string", length=32, unique=true, nullable=false)
 */
protected $username;

Catalyst-proof
May 11, 2011

better waste some time with you

rotor posted:

difficult like "ugh god, this sucks, i dont want to do this either"

move to the old world and write novels for a while

that's my plan

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

WHOIS John Galt posted:

move to the old world and write novels for a while

that's my plan

im wondering how feasible it would be to start up a basement machine shop

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

rotor posted:

im wondering how feasible it would be to start up a basement machine shop

get a 3d printer and a lathe and a miller and Go To Freaking Town*








*make sure to clean the oil and poo poo off your own self before the waifu gets home

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

rotor posted:

im wondering how feasible it would be to start up a basement machine shop

keeping in mind i have no experience with the following things:

1) machine shops
2) running a business
3) the machine tools industry
4) industries that consume machine parts
5) basements

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp

rotor posted:

keeping in mind i have no experience with the following things:

1) machine shops
2) running a business
3) the machine tools industry
4) industries that consume machine parts
5) basements

you need a niche market, definitely

Adbot
ADBOT LOVES YOU

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp
if i can get a reproducible yosvape that outperforms the ~$300 vaporizers out there with profit room and demand feels right im going to kickstart it and will give you the faceplate-and-mounting-widget contract

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