diff --git a/src/main/java/link/locutus/discord/apiv1/enums/ResourceType.java b/src/main/java/link/locutus/discord/apiv1/enums/ResourceType.java index 8964a1f68..f0c4333c3 100644 --- a/src/main/java/link/locutus/discord/apiv1/enums/ResourceType.java +++ b/src/main/java/link/locutus/discord/apiv1/enums/ResourceType.java @@ -21,6 +21,7 @@ import link.locutus.discord.apiv1.enums.city.project.Project; import link.locutus.discord.apiv1.enums.city.project.Projects; import link.locutus.discord.db.entities.DBNation; +import link.locutus.discord.pnw.NationOrAlliance; import link.locutus.discord.util.IOUtil; import link.locutus.discord.util.MathMan; import link.locutus.discord.util.StringMan; @@ -134,13 +135,13 @@ public static Map roundResources(Map return copy; } - public static String resourcesToJson(String receiver, boolean isNation, Map rss, String note) { + public static Map resourcesToJson(NationOrAlliance receiver, Map rss, String note) { Map post = new LinkedHashMap<>(); - if (isNation) { - post.put("withrecipient", receiver); + if (receiver.isNation()) { + post.put("withrecipient", receiver.getName()); post.put("withtype", "Nation"); } else { - post.put("withrecipient", "" + receiver); + post.put("withrecipient", receiver.getName()); post.put("withtype", "Alliance"); } for (ResourceType type : values) { @@ -156,7 +157,7 @@ public static String resourcesToJson(String receiver, boolean isNation, Map entry : post.entrySet()) { // entry.setValue("\"" + entry.getValue() + "\""); // } - return WebUtil.GSON.toJson(post); + return post; } public static Map parseResources(String arg) { diff --git a/src/main/java/link/locutus/discord/commands/manager/CommandManager.java b/src/main/java/link/locutus/discord/commands/manager/CommandManager.java index 44b136fc7..6fe44e846 100644 --- a/src/main/java/link/locutus/discord/commands/manager/CommandManager.java +++ b/src/main/java/link/locutus/discord/commands/manager/CommandManager.java @@ -384,7 +384,7 @@ private void handleWarRoomSync(Guild guild, User msgUser, IMessageIO io, String Category category = GuildMessageChannel.getParentCategory(); if (category == null) return; - if (!category.getName().startsWith("warcat")) return; + if (!category.getName().toLowerCase().startsWith("warcat")) return; GuildDB db = Locutus.imp().getGuildDB(guild); if (db == null) return; if (!db.isWhitelisted() && db.getOrNull(GuildKey.ENABLE_WAR_ROOMS) != Boolean.TRUE) return; diff --git a/src/main/java/link/locutus/discord/commands/manager/v2/binding/bindings/Placeholders.java b/src/main/java/link/locutus/discord/commands/manager/v2/binding/bindings/Placeholders.java index c22ca05fb..a687b7b0a 100644 --- a/src/main/java/link/locutus/discord/commands/manager/v2/binding/bindings/Placeholders.java +++ b/src/main/java/link/locutus/discord/commands/manager/v2/binding/bindings/Placeholders.java @@ -835,7 +835,7 @@ private IllegalArgumentException throwUnknownCommand(String command) { } full.append(")"); } - BiFunction format = (object, paramVals) -> command.call(object, store, paramVals); + BiFunction format = (object, paramVals) -> object == null ? null : command.call(object, store, paramVals); if (isResolved) { Object[] argArr = resolved.apply(null); return TypedFunction.createParents(command.getReturnType(), f -> format.apply(f, argArr), "{" + full.toString() + "}", null); diff --git a/src/main/java/link/locutus/discord/commands/manager/v2/impl/discord/binding/DiscordBindings.java b/src/main/java/link/locutus/discord/commands/manager/v2/impl/discord/binding/DiscordBindings.java index 68dde2810..c05cfed1e 100644 --- a/src/main/java/link/locutus/discord/commands/manager/v2/impl/discord/binding/DiscordBindings.java +++ b/src/main/java/link/locutus/discord/commands/manager/v2/impl/discord/binding/DiscordBindings.java @@ -154,7 +154,7 @@ public static Category category(@Me Guild guild, String category, @Default Param Filter filter = param == null ? null : param.getAnnotation(Filter.class); if (filter != null) { categories = new ArrayList<>(categories); - categories.removeIf(f -> !f.getName().matches(filter.value())); + categories.removeIf(f -> !f.getName().toLowerCase().matches(filter.value())); } if (categories.isEmpty()) { if (MathMan.isInteger(category)) { diff --git a/src/main/java/link/locutus/discord/commands/manager/v2/impl/pw/commands/AdminCommands.java b/src/main/java/link/locutus/discord/commands/manager/v2/impl/pw/commands/AdminCommands.java index fbe272bf1..617e6f717 100644 --- a/src/main/java/link/locutus/discord/commands/manager/v2/impl/pw/commands/AdminCommands.java +++ b/src/main/java/link/locutus/discord/commands/manager/v2/impl/pw/commands/AdminCommands.java @@ -307,7 +307,8 @@ public String syncWarrooms(@Me IMessageIO io, @Me JSONObject command, @Me GuildD } long diff = System.currentTimeMillis() - start; io.create().append("Sync war rooms complete. Took: " + diff + "ms\n" + - "See the attached log file for task output").file("warcat.txt", full.toString()).send(); + "See the attached log file for task output. To sort rooms, see: " + CM.war.room.sort.cmd.toSlashMention()) + .file("warcat.txt", full.toString()).send(); return null; } @@ -2759,7 +2760,7 @@ public String purgeWarRooms( // war room delete_all iter.remove(); } for (Category category : categories) { - if (category.getName().startsWith("warcat-")) { + if (category.getName().toLowerCase().startsWith("warcat-")) { RateLimitUtil.queue(category.delete()); } } diff --git a/src/main/java/link/locutus/discord/commands/sync/SyncWarRooms.java b/src/main/java/link/locutus/discord/commands/sync/SyncWarRooms.java index e793d5dd2..6adaf57dc 100644 --- a/src/main/java/link/locutus/discord/commands/sync/SyncWarRooms.java +++ b/src/main/java/link/locutus/discord/commands/sync/SyncWarRooms.java @@ -101,7 +101,7 @@ public String onCommand(Guild guild, IMessageIO channel, User author, DBNation m iter.remove(); } for (Category category : categories) { - if (category.getName().startsWith("warcat-")) { + if (category.getName().toLowerCase().startsWith("warcat-")) { RateLimitUtil.queue(category.delete()); } } diff --git a/src/main/java/link/locutus/discord/commands/war/WarRoomUtil.java b/src/main/java/link/locutus/discord/commands/war/WarRoomUtil.java index 18efdb4d1..b7d95b169 100644 --- a/src/main/java/link/locutus/discord/commands/war/WarRoomUtil.java +++ b/src/main/java/link/locutus/discord/commands/war/WarRoomUtil.java @@ -352,7 +352,7 @@ public static NationFilter getFilter(GuildDB db) { } public static CityRanges getRangeFromCategory(Category category) { - String[] split = category.getName().split("-", 2); + String[] split = category.getName().toLowerCase().split("-", 2); if (split.length == 2) { String filterStr = split[1]; if (filterStr.charAt(0) == 'c') { diff --git a/src/main/java/link/locutus/discord/db/entities/DBNation.java b/src/main/java/link/locutus/discord/db/entities/DBNation.java index c84e22fdc..47b101ba1 100644 --- a/src/main/java/link/locutus/discord/db/entities/DBNation.java +++ b/src/main/java/link/locutus/discord/db/entities/DBNation.java @@ -26,6 +26,7 @@ import link.locutus.discord.commands.manager.v2.binding.bindings.TypedFunction; import link.locutus.discord.commands.manager.v2.command.*; import link.locutus.discord.commands.manager.v2.impl.discord.permission.RolePermission; +import link.locutus.discord.commands.manager.v2.impl.pw.binding.NationAttributeDouble; import link.locutus.discord.commands.manager.v2.impl.pw.refs.CM; import link.locutus.discord.commands.manager.v2.impl.pw.NationFilter; import link.locutus.discord.commands.manager.v2.impl.pw.TaxRate; @@ -4557,6 +4558,37 @@ public double maxCityInfra() { return maxInfra; } + @Command(desc = "Sum of city attribute for specific cities this nation has") + public double getTotal(@NoFormat TypedFunction attribute, @NoFormat @Default Predicate filter) { + Collection cities = this._getCitiesV3().values(); + return cities.stream().filter(f -> filter == null || filter.test(f)).mapToDouble(attribute::apply).sum(); + } + + @Command(desc = "Average of city attribute for specific cities in nation") + public double getAverage(@NoFormat TypedFunction attribute, @NoFormat @Default Predicate filter) { + Collection cities = this._getCitiesV3().values(); + return cities.stream().filter(f -> filter == null || filter.test(f)).mapToDouble(attribute::apply).average().orElse(0); + } + + @Command(desc = "Returns the average value of the given attribute per another attribute (such as infra)") + public double getAveragePer(@NoFormat TypedFunction attribute, @NoFormat TypedFunction per, @Default Predicate filter) { + Collection cities = this._getCitiesV3().values(); + double total = 0; + double perTotal = 0; + for (DBCity city : cities) { + if (filter != null && !filter.test(city)) continue; + total += attribute.apply(city); + perTotal += per.apply(city); + } + return total / perTotal; + } + + @Command(desc = "Count of cities in nation matching a filter") + public int countCities(@NoFormat @Default Predicate filter) { + if (filter == null) return getCities(); + return (int) _getCitiesV3().values().stream().filter(filter).count(); + } + @Command(desc = "The highest land level in their cities") public double maxCityLand() { double maxLand = 0; diff --git a/src/main/java/link/locutus/discord/util/PW.java b/src/main/java/link/locutus/discord/util/PW.java index 5515c449d..96020537a 100644 --- a/src/main/java/link/locutus/discord/util/PW.java +++ b/src/main/java/link/locutus/discord/util/PW.java @@ -1495,10 +1495,6 @@ public Integer apply(Double min, Double max) { }; } - public static String getPostScript(String name, boolean nation, Map rss, String note) { - return ResourceType.resourcesToJson(name, nation, rss, note); - } - public static double getOdds(double attStrength, double defStrength, int success) { attStrength = Math.pow(attStrength, 0.75); defStrength = Math.pow(defStrength, 0.75); diff --git a/src/main/java/link/locutus/discord/util/offshore/Auth.java b/src/main/java/link/locutus/discord/util/offshore/Auth.java index 163dcac22..3f7d324bf 100644 --- a/src/main/java/link/locutus/discord/util/offshore/Auth.java +++ b/src/main/java/link/locutus/discord/util/offshore/Auth.java @@ -6,10 +6,7 @@ import link.locutus.discord.apiv3.enums.AlliancePermission; import link.locutus.discord.config.Settings; import link.locutus.discord.db.GuildDB; -import link.locutus.discord.db.entities.DBAlliancePosition; -import link.locutus.discord.db.entities.PendingTreaty; -import link.locutus.discord.db.entities.TaxBracket; -import link.locutus.discord.db.entities.DBNation; +import link.locutus.discord.db.entities.*; import link.locutus.discord.network.IProxy; import link.locutus.discord.network.PassthroughProxy; import link.locutus.discord.pnw.NationOrAlliance; @@ -739,6 +736,33 @@ public Set call() throws Exception { return login ? PW.withLogin(task, auth) : task.call(); } + public String withdrawResources(DBAlliance alliance, NationOrAlliance receiver, double[] amount, String note) { + Map post = ResourceType.resourcesToJson(receiver, ResourceType.resourcesToMap(amount), note); + int fromBank = alliance.getAlliance_id(); + + return PW.withLogin(() -> { + String result = readStringFromURL(PagePriority.BANK_DEPOSIT, "" + Settings.INSTANCE.PNW_URL() + "/alliance/id=" + fromBank + "&display=bank", emptyMap()); + Document dom = Jsoup.parse(result); + String token = dom.select("input[name=token]").attr("value"); + post.put("token", token); + StringBuilder response = new StringBuilder(); + + result = readStringFromURL(PagePriority.TOKEN, "" + Settings.INSTANCE.PNW_URL() + "/alliance/id=" + fromBank + "&display=bank", post); + dom = Jsoup.parse(result); + for (Element element : dom.getElementsByClass("alert")) { + String text = element.text(); + if (text.startsWith("Player Advertisement by ")) { + continue; + } + response.append('\n').append(text); + } + if (response.length() == 0) { + return "(not output)"; + } + return response.toString(); + }, this); + } + /////////////////////// public enum TradeResultType { diff --git a/src/main/java/link/locutus/discord/util/offshore/OffshoreInstance.java b/src/main/java/link/locutus/discord/util/offshore/OffshoreInstance.java index 7b0d00015..019f90783 100644 --- a/src/main/java/link/locutus/discord/util/offshore/OffshoreInstance.java +++ b/src/main/java/link/locutus/discord/util/offshore/OffshoreInstance.java @@ -1449,7 +1449,11 @@ public TransferResult transferSafe(DBNation nation, Map tr public TransferResult transfer(DBNation nation, Map transfer, String note, Map> transferRoute) { synchronized (BANK_LOCK) { - return transfer(null, nation, transfer, note, transferRoute); + Auth auth = null; + if (Settings.USE_V2) { + auth = getAlliance().getAuth(AlliancePermission.WITHDRAW_BANK); + } + return transfer(auth, nation, transfer, note, transferRoute); } } @@ -1602,22 +1606,21 @@ public TransferResult transferUnsafe(Auth auth, NationOrAlliance receiver, Map request = handler.addRequest(uuid, receiver, ResourceType.resourcesToArray(transfer), note); + DBAlliance aa = getAlliance(); try { - String response = request.get(20, TimeUnit.SECONDS); + String response = auth.withdrawResources(aa, receiver, ResourceType.resourcesToArray(transfer), note); TransferResult category = categorize(receiver, transfer, note, response); if (category.getStatus() == TransferStatus.SUCCESS || category.getStatus() == TransferStatus.SENT_TO_ALLIANCE_BANK) { setLastSuccessfulTransfer(receiver, ResourceType.resourcesToArray(transfer)); } return category; - } catch (InterruptedException | ExecutionException | TimeoutException e) { + } catch (Exception e) { return new TransferResult(TransferStatus.OTHER, receiver, transfer, note).addMessage("Timeout: " + e.getMessage()); } } diff --git a/src/main/java/link/locutus/discord/web/jooby/BankRequestHandler.java b/src/main/java/link/locutus/discord/web/jooby/BankRequestHandler.java index 44900b373..7fde5be8a 100644 --- a/src/main/java/link/locutus/discord/web/jooby/BankRequestHandler.java +++ b/src/main/java/link/locutus/discord/web/jooby/BankRequestHandler.java @@ -3,6 +3,7 @@ import link.locutus.discord.apiv1.enums.ResourceType; import link.locutus.discord.pnw.NationOrAlliance; import link.locutus.discord.util.PW; +import link.locutus.discord.web.WebUtil; import org.json.JSONObject; import java.util.Map; @@ -19,7 +20,7 @@ public class BankRequestHandler { public Future addRequest(UUID uuid, NationOrAlliance recipient, double[] amt, String note) { // token - String txStr = ResourceType.resourcesToJson(recipient.getName(), recipient.isNation(), ResourceType.resourcesToMap(amt), note); + String txStr = WebUtil.GSON.toJson(ResourceType.resourcesToJson(recipient, ResourceType.resourcesToMap(amt), note)); JSONObject json = new JSONObject(); json.put("transfer", new JSONObject(txStr)); json.put("token", uuid.toString()); diff --git a/src/main/resources/fun/jokes.txt b/src/main/resources/fun/jokes.txt index 2620a0a94..a633f883b 100644 --- a/src/main/resources/fun/jokes.txt +++ b/src/main/resources/fun/jokes.txt @@ -245,23 +245,23 @@ I'll hit you so hard by the time you come down, you'll need a passport and a pl I'll hit you so hard your kids will be born dizzy! You're so dumb you think manual labor is a Mexican! You're so dumb it takes you an hour and a half to watch "60 Minutes"! -You so stupid you probably think Taco Bell is where you pay your telephone bill. -Your so stupid, that you got fired from the M & M factory for throwing away all the W's. -Your so stupid, that you went to a Clippers game to get a hair cut. -Your so stupid, that you went to a Whalers game to see Shamu. -Your so stupid, it takes you an hour to cook minute rice. +You're so stupid you probably think Taco Bell is where you pay your telephone bill. +You're so stupid, that you got fired from the M & M factory for throwing away all the W's. +You're so stupid, that you went to a Clippers game to get a hair cut. +You're so stupid, that you went to a Whalers game to see Shamu. +You're so stupid, it takes you an hour to cook minute rice. You're so ugly you'd make a train take a dirt road! You're so ugly when you walk into a bank, they turn the cameras off! -You're so ugly, if you stuck your head out the window, they'd arrest you for mooning! -You're so ugly if you joined an ugly contest, they'd say "Sorry, no professionals!" +You're so ugly, if you stuck your head out the window, they'd arrest you for mooning! +You're so ugly if you joined an ugly contest, they'd say "Sorry, no professionals!" You're so ugly if my dog looked like you, I'd shave its ass and teach it to walk backwards! -You're so ugly when you were born, your mother saw the afterbirth and said "Twins!" +You're so ugly when you were born, your mother saw the afterbirth and said "Twins!" Your face so so ugly when you cry the tears run up your face. -Your so ugly, your mother had to feed you with a sling shot. -Your so ugly, your mother had to tie a steak around your neck to get the dog to play with you. +You're so ugly, your mother had to feed you with a sling shot. +You're so ugly, your mother had to tie a steak around your neck to get the dog to play with you. You're so fat when you sit around the house, you sit AROUND the HOUSE -You're so fat you get clothes in three sizes: extra large, jumbo, and oh-my-god-it's-coming-towards-us! -Your so fat, that you have to strap a beeper on your belt to warn people you are backing up. +You're so fat you get clothes in three sizes: extra large, jumbo, and oh-my-god-it's-coming-towards-us! +You're so fat, that you have to strap a beeper on your belt to warn people you are backing up. Your wife said she liked seafood. So I gave her crabs. If I had change for a buck, I could have been your dad! When you get run over by a car it shouldn't be listed under accidents. @@ -280,7 +280,7 @@ Yo mama so dumb she stared at da orange juice bottle cause it said concentrate Yo mammas so fat you could slap her legs and ride the waves Yo mama so dumb she sold her car for gas money Yo Mama's so fat, she got baptized at Sea World. -You're mom's so stupid, she got locked up in a super market and starved +Your mom's so stupid, she got locked up in a super market and starved Yo Momma is so fat she walked out in high heels and came back in flip flops. Yo' Momma's So Fat When her beeper goes off, people think she's backing up. Yo mama's so fat when she ordered a water bed they layed a blanket on the Pacific Ocean @@ -372,18 +372,15 @@ A neutron walks into a bar. "I'd like a beer" he says. The bartender promptly se A bear walked into a bar and says, "I'll have a beer ... and some of those peanuts." The bartender says, "Why the big pause?" What do you give a person with water on the brain? A tap on the head. What do you get when you drop boiling water down a rabbit hole? Hot cross bunnies. -How do you get 100 babies into a bucket? With a blender. -How do you get them out again? With Doritos. +How do you get 100 babies into a bucket? With a blender. How do you get them out again? With Doritos. What is funnier than a dead baby? A dead baby in a clown costume. How do you stop a baby from crawling around in circles? Nail it’s other hand to the floor What is the difference between a baby and a onion? No one cries when you chop up the baby. How many babies does it take to paint a house? Depends how hard you throw them. How do you make a dead baby float? A glass of soda water and 2 scoops of baby. What do you call a dead baby pinned to your wall? Art. -What bounces up and down at 100mph? -A baby tied to the back of a truck. -What is red and hangs around trees? A baby hit by a snow blower. -What is green and hangs around trees? Same baby 3 weeks later. +What bounces up and down at 100mph? A baby tied to the back of a truck. +What is red and hangs around trees? A baby hit by a snow blower. What is green and hangs around trees? Same baby 3 weeks later. What is brown and gurgles? A baby in a casserole. What do vegetarian ogres eat? Cabbage patch kids. What do you call a baby on a stick? A Kebabie. @@ -503,171 +500,80 @@ Q: What did one knife say to the other? A: "My, YOU'RE looking sharp today!" Q: What's the best way to see flying saucers? A: Trip the waiter! There are 10 types of people in the world: those who understand binary, and those who don't If at first you don't succeed; call it version 1.0 -I'm not anti-social; I'm just not user friendly My software never has bugs. It just develops random features Roses are #FF0000 , Violets are #0000FF , All my base belongs to you -In a world without fences and walls, who needs Gates and Windows? Hand over the calculator, friends don't let friends derive drunk -I would love to change the world, but they won't give me the source code Enter any 11-digit prime number to continue... The box said 'Requires Windows 95 or better'. So I installed LINUX A penny saved is 1.39 cents earned, if you consider income tax Unix, DOS and Windows...the good, the bad and the ugly -A computer lets you make more mistakes faster than any invention in human history - with the possible exceptions of handguns and tequila -The code that is the hardest to debug is the code that you know cannot possibly be wrong UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity -Ethernet (n): something used to catch the etherbunny -C://dos C://dos.run run.dos.run You know it's love when you memorize her IP number to skip DNS overhead -JUST SHUT UP AND REBOOT!! 1f u c4n r34d th1s u r34lly n33d t0 g37 l41d Alcohol & calculus don't mix. Never drink & derive How do I set a laser printer to stun? There is only one satisfying way to boot a computer -Concept: On the keyboard of life, always keep one finger on the escape button -It's not bogus, it's an IBM standard -Be nice to the nerds, for all you know they might be the next Bill Gates! -The farther south you go, the more dollar stores there are -Beware of programmers that carry screwdrivers The difference between e-mail and regular mail is that computers handle e-mail, and computers never decide to come to work one day and shoot all the other computers If you want a language that tries to lock up all the sharp objects and fire-making implements, use Pascal or Ada: the Nerf languages, harmless fun for children of all ages, and they won't mar the furniture -COFFEE.EXE Missing - Insert Cup and Press Any Key Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning LISP = Lots of Irritating Silly Parentheses The beginning of the programmer's wisdom is understanding the difference between getting program to run and having a runnable program Squash one bug, you'll see ten new bugs popping Everytime i time i touch my code, i give birth to ten new bugs We are sorry, but the number you have dialed is imaginary. Please rotate your phone 90 degrees and try again -Cannot find REALITY.SYS. Universe halted -If it weren't for C, we'd all be programming in BASI and OBO -Bad command or file name! Go stand in the corner -Bad or corrupt header, go get a haircut -Unrecognized input, get out of the class -Warning! Buffer overflow, close the tumbler ! -WinErr 547: LPT1 not found... Use backup... PENCIL & PAPER -Bad or missing mouse driver. Spank the cat? (Y/N) Computers make very fast, very accurate mistakes -Best file compression around: "rm *.*" = 100% compression Hackers in hollywood movies are phenomenal. All they need to do is "c:\> hack into fbi" -BREAKFAST.COM Halted...Cereal Port Not Responding I survived an NT installation -The name is Baud......James Baud My new car runs at 56Kbps -Why doesn't DOS ever say "EXCELLENT command or filename!" File not found. Should I fake it? (Y/N) -Cannot read data, leech the next boy's paper? (Y/N) -CONGRESS.SYS Corrupted: Re-boot Washington D.C (Y/n)? Does fuzzy logic tickle? Helpdesk : Sir, you need to add 10GB space to your HD , Customer : Could you please tell where I can download that? Windows: Just another pane in the glass Who's General Failure & why's he reading my disk? RAM disk is not an installation procedure -Shell to DOS...Come in DOS, do you copy? Shell to DOS... -The truth is out there...anybody got the URL? Smash forehead on keyboard to continue..... -E-mail returned to sender -- insufficient voltage Help! I'm modeming... and I can't hang up!!! All wiyht. Rho sritched mg kegtops awound? Once I got this error on my Linux box: Error. Keyboard not attached. Press F1 to continue -Once I got this error on my Linux box: Error. Mouse not attached. Please left click the 'OK' button to continue Press any key to continue or any other key to quit... Press every key to continue Helpdesk: Sir if you see the blue screen, press any key to continue. Customer : hm.. just a min.. where's that 'any key'.. -Idiot, Go ahead, make my data! -Old programmers never die; they just give up their resources To err is human - and to blame it on a computer is even more so -(001) Logical Error CLINTON.SYS: Truth table missing -Clinton:/> READ | PARSE | WRITE | DUMP >> MONKIA.SYS -(D)inner not ready: (A)bort (R)etry (P)izza -Computers can never replace human stupidity A typical Yahoo! inbox : Inbox(0), Junk(9855210) -(A)bort, (R)etry, (P)anic? -Bugs come in through open Windows -Penguins love cold, they wont survive the sun Unix is user friendly...its just selective about who its friends are Artificial intelligence usually beats real stupidity Bell Labs Unix -- Reach out and grep someone. To err is human...to really foul up requires the root password. -Invalid password : Please enter the correct password to (Abort / Retry / Ignore ) -FUBAR - where Geeks go for a drink I degaussed my girlfriend and I'm just not attracted to her anymore -Scandisk : Found 2 bad sectors. Please enter a new HD to continue scanning Black holes are where God divided by zero Hey! It compiles! Ship it! Thank god, my baby just compiled -Yes! My code compiled, and my wife just produced the output Windows 98 supports real multitasking - it can boot and crash simultaneously -Zap! And there was the blue screen ! Please send all spam to my main address, root@localhost :-) -MailerD(a)emon: You just received 9133547 spam. (O)pen all, (R)ead one by one, (C)heck for more spam -A: Can you teach me how to use a computer? B: No. I just fix the machines, I don't use them -PayPal: Your funds have been frozen for 668974 days -1-800-404 : The subscriber you are trying to call does not exist -1-800-403 : Access to that subscriber was denied -Error message: "Out of paper on drive D:" If I wanted a warm fuzzy feeling, I'd antialias my graphics! A printer consists of three main parts: the case, the jammed paper tray and the blinking red light "Mr. Worf, scan that ship." "Aye Captain. 300 dpi?" -Smith & Wesson: The Original Point And Click Interface -Shout onto a newsgroup : It echoes back flames and spam -Firewall : Intruder detected. (A)llow in (D)eactivate the firewall Real programmers can write assembly code in any language -Warning! Perl script detected! (K)ill it , (D)eactivate it -Firewall : Do you want to place a motion detector on port 80 ? -Helpdesk: Sir, please refill your ink catridges Customer : Where can i download that? All computers run at the same speed... with the power off -You have successfully logged in, Now press any key to log out Sorry, the password you tried is already being used by Dorthy, please try something else. -Sorry, that username already exists. (O)verwrite it (C)ancel Please send all flames, trolls, and complaints to /dev/toilet -Shut up, or i'll flush you out Cron : Enter cron command \ Now enter the number of minutes in an hour -We are experiencing system trouble -- do not adjust your terminal -You have successfully hacked in, Welcome to the FBI mainframes. I'm sorry, our software is perfect. The problem must be you Never underestimate the bandwidth of a station wagon full of tapes hurling down the highway -Webhost livehelp: Sir you ran out of bandwidth, User: Where can I download that? -If Ruby is not and Perl is the answer, you don't understand the question Having soundcards is nice... having embedded sound in web pages is not My computer was full, so I deleted everything on the right half -You have received a new mail which is 195537 hours old Yahoo! Mail: Your email was sent successfully. The email will delivered in 4 days and 8 hours -I'm sorry for the double slash (Tim Berners-Lee in a Panel Discussion, WWW7, Brisbane, 1998) -Ah, young webmaster... java leads to shockwave. Shockwave leads to realaudio. And realaudio leads to suffering What color do you want that database? C++ is a write-only language. I can write programs in C++, but I can't read any of them -As of next week, passwords will be entered in Morse code -earth is 98% full ... please delete anyone you can -A typical yahoo chat room: "A has signed in, A has signed out, B has signed in, B has signed out, C has signed in, C has signed out.." -When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop -Warning! No processor found! Press any key to continue Failure is not an option. It comes bundled with your Microsoft product -NT is the only OS that has caused me to beat a piece of hardware to death with my bare hands -Warning! Kernel crashed, Run for your lives ! -NASA uses Windows? Oh great. If Apollo 13 went off course today the manual would just tell them to open the airlock, flush the astronauts out, and re-install new one -JavaScript: An authorizing language designed to make Netscape crash -How's my programming? Call 1-800-DEV-NULL -Yes, friends and neighbors, boys and girls - my PC speaker crashed NT root:> Sorry, you entered the wrong password, the correct password is 'a_49qwXk' -New linux package released. Please install on /dev/null -Quake and uptime do not like each other Unix...best if used before: Tue Jan 19 03:14:08 GMT 2038 -As you well know, magic and weapons are prohibited inside the cafeteria -- Final Fantasy VIII -Man is the best computer we can put aboard a spacecraft...and the only one that can be mass produced with unskilled labo -Unix is the only virus with a command line interface Windows 95 makes Unix look like an operating system -How are we supposed to hack your system if it's always down! -God is real, unless declared integer -I'm tempted to buy the slashdot staff a grammar checker. What do they do for 40 hours a week? -Paypal : Please enter your credit card number to continue It takes a million monkeys at typewriters to write Shakespeare, but only a dozen monkeys at computers to run Network Solutions -Please help - firewall burnt down - lost packet - reward $$$ If Linux were a beer, it would be shipped in open barrels so that anybody could piss in it before delivery -Thank you Mario! But our princess is in another castle Perl, the only language that looks the same before and after RSA encryption Norton: Incoming virus - (D)ownload and save (R)un after download I had a dream... and there were 1's and 0's everywhere, and I think I saw a 2! -You sir, are an unknown USB device driver C isn't that hard: void (*(*f[])())() defines f as an array of unspecified size, of pointers to functions that return pointers to functions that return void How do you know when you are going to drown in milk? When its past your eyes! Milk is also the fastest liquid on earth – its pasteurized before you even see it Did you hear that the police have a warrant out on a midget psychic ripping people off? It reads "Small medium at large." @@ -761,4 +667,44 @@ What did the buffalo say to his son as he left for college? Bison What does a house wear? A dress. I asked a Frenchman if he played video games. He said "wii". A furniture store keeps calling me. But all I wanted was one night stand. -Two aerials meet on a roof, fall in love and get married... The ceremony was rubbish but the reception was excellent. \ No newline at end of file +Two aerials meet on a roof, fall in love and get married... The ceremony was rubbish but the reception was excellent. +What has got two legs and bleeds? Half a dog! +Today a man knocked on my door and asked for a small donation towards the local swimming pool. I gave him a glass of water. +I want to die peacefully in my sleep, like my grandfather.. Not screaming and yelling like the passengers in his car. +Apparently I snore so loudly that it scares everyone in the car I'm driving. +My therapist says I have a preoccupation with vengeance. We'll see about that. +My wife and I were happy for twenty years. Then we met. +I think my neighbor is stalking me as she's been googling my name on her computer. I saw it through my telescope last night. +You're not fat, you're just... easier to see. +That awkward moment when you leave a store without buying anything and all you can think is "act natural". +Before I criticize a man, I like to walk a mile in his shoes. That way, when I do criticize him, I'm a mile away and I have his shoes. +I hate when I am about to hug someone really sexy and my face hits the mirror. +I started out with nothing, and I still have most of it. +I asked God for a bike, but I know God doesn't work that way. So I stole a bike and asked for forgiveness. +I used to think I was indecisive, but now I'm not too sure. +If 4 out of 5 people SUFFER from diarrhea ... does that mean that one enjoys it? +I'd like to see things from your point of view but I can't seem to get my head that far up my ass. +I sometimes watch birds and wonder "If I could fly who would I shit on?" +I would give my mom what she really wants on Mother's Day, but I can't afford to move out yet. +Two wrongs don't make a right, take your parents as an example. +Regular naps prevent old age, especially if you take them while driving. +Whoever said nothing is impossible is a liar. I've been doing nothing for years. +One day you're the best thing since sliced bread. The next, you're toast. +Thanks for explaining the word 'many' to me, it means a lot. +I saw a sign that said 'Watch for children' and I thought, 'That sounds like a fair trade'. +People used to laugh at me when I would say 'I want to be a comedian', well nobody's laughing now. +I hate people who use big words just to make themselves look perspicacious. +Your family tree must be a cactus because everybody on it is a prick. +I bought a vacuum cleaner six months ago and so far all it's been doing is gathering dust. +My girlfriends dad asked me what I do. Apparently, "your daughter" wasn't the right answer. +Whatever you do always give 100 %. Unless you are donating blood. +The only way you'll ever get laid is if you crawl up a chicken's ass and wait. +Where do they get the seeds to plant seedless watermelons? +Hard work never killed anyone, but why take the chance? +I don't think you act stupid, I'm sure it's the real thing. +Any salad can be a Caesar salad if you stab it enough. +My mother never saw the irony in calling me a son-of-a-bitch. +I am known at the gym as the 'before picture.' +I always tell new hires, don't think of me as your boss, think of me as your friend who can fire you. +What has two thumbs and gets distracted easi +I asked my North Korean friend how it was there, he said he couldn't complain. \ No newline at end of file