3,277,078 events, 1,568,154 push events, 2,464,009 commit messages, 179,211,018 characters
fixes stupid reference equality in #95 (#98)
-
No boxing on equality for DreamVale
-
small clarity spacing
-
fucking reference equality
-
More correct code
wayland: use VOCTRL_WAIT_CALLBACK for rendering
This is actually a very nice simplification that should have been thought of years ago (sue me). In a nutshell, the story with the wayland code is that the frame callback and swap buffer behavior doesn't fit very well with mpv's rendering loop. It's been refactored/changed quite a few times over the years and works well enough but things could be better. The current iteration works with an external swapchain to check if we have frame callback before deciding whether or not to render. This logic was implemented in both egl and vulkan.
This does have its warts however. There's some hidden state detection logic which works but is kind of ugly. Since wayland doesn't allow clients to know if they are actually visible (questionable but whatever), you can just reasonably assume that if a bunch of callbacks are missed in a row, you're probably not visible. That's fine, but it is indeed less than ideal since the threshold is basically entirely arbitrary and mpv does do a few wasteful renders before it decides that the window is actually hidden.
The biggest urk in the vo_wayland_wait_frame is the use of wl_display_roundtrip. Wayland developers would probably be offended by the way mpv abuses that function, but essentially it was a way to have semi-blocking behavior needed for display-resample to work. Since the swap interval must be 0 on wayland (otherwise it will block the entire player's rendering loop), we need some other way to wait on vsync. The idea here was to dispatch and poll a bunch of wayland events, wait (with a timeout) until we get frame callback, and then wait for the compositor to process it. That pretty much perfectly waits on vsync and lets us keep all the good timings and all that jazz that we want for mpv. The problem is that wl_display_roundtrip is conceptually a bad function. It can internally call wl_display_dispatch which in certain instances, empty event queue, will block forever. Now strictly speaking, this probably will never, ever happen (once I was able to to trigger it by hardcoding an error into a compositor), but ideally vo_wayland_wait_frame should never infinitely block and stall the player. Unfortunately, removing that function always lead to problems with timings and unsteady vsync intervals so it survived many refactors.
Until now, of course. In wayland, the ideal is to never do wasteful rendering (i.e. don't render if the window isn't visible). Instead of wrestling around with egl/vulkan contexts, we can just move this logic upwards to a higher level, vo.c itself. A new VOCTRL (VOCTRL_WAIT_CALLBACK) is introduced and called right before the vo->driver->draw_frame call in render_frame. If the backend in question implements that event (wayland in this case), then it can employ it sown custom block/wait before telling vo.c whether or not to draw. If this VOCTRL doesn't exist, then the call just always returns true so nothing changes.
This slight rearrangement of the wait allows for several simplifications to be made. Namely, wl_display_roundtrip stops being needed. Instead, we can rely entirely on totally nonblocking calls (dispatch_pending, flush, and so on). We still need to poll the fd here to actually get the frame callback event from the compositor, but there's no longer any reason to do extra waiting. As soon as we get the callback, we immediately draw. This works quite well and has stable vsync (display-resample and audio). Additionally, all of the logic about hidden states is no longer needed. If vo_wayland_wait_frame times out, it's okay to assume immediately that the window is not visible and skip rendering.
Since all of the special waiting is handled in the wayland_common code, the external swapchain stuff implemented in egl and vulkan wayland become completely unneeded. Revert back to the "simple" way and remove all the cruft. We still need to do presentation statistics of course, but the rest is not needed. In vulkan, specifically for wayland, an extra start_frame param was implemented. Since this is not needed anymore and likely nobody else will need such a mechanism, the entire thing can be removed.
Unfortunately, there's one limitation on this new approach. It will only work correctly if the compositor implements presentation time. That means a reduced version of the old way still has to be carried around in vo_wayland_wait_frame. So if the compositor has no presentation time, then we are forced to use wl_display_roundtrip and juggle some funny assumptions about whether or not the window is hidden or not. Plasma is the only real notable compositor without presentation time at this stage so perhaps this "legacy" mechanism could be removed in the future.
Project on R
Project on R Predict Customer Life-time Value for an Auto Insurance Company Approachs : In the given dataset Customer Life-time Value is dependent variable and 23 independent variables. According to the problem statement to predict CLV we have to apply the Multiple Linear Regression Model in R. Steps : o First we have to call all the required libraries of Linear Regression Approach o We have to set our working directory o Now we load the given dataset o Checking the structure(data type) of the variables and Converting data types of the variables which are necessary o Checking for outliers of the numerical variables. If outlier exists remove these records from the dataset o Now check the missing values (if any). If exists remove the records containing missing values o Now we start Linear Modeling part. We start it by removing Customer and Effective.To.Date variable as they have no business value.then we run our model and check summary o Now we start model validation part. First we check ANOVA it should be less than 0.05 . Then we check p value of the each variables. Every variable should have one star(*) or more than one star beside them. If any variable did not have any * beside it then remove the variable from the model but we have to remove one variable at a time. We have to repeat the process until all the variables have * beside it. Now , we check R squre and Adjusted R squre . Then we Calculate MAPE. o Now we start Assumption Diagnostic part. i) There should not any multicollinearity between any two or more independent variables. We test it with VIF, value of GVIF for each variable should be less than 2. ii) For any two observations the residual terms should be uncorrelated, we test it by Durbin-Watson test, should get a high p value , value close to 2 means the residuals are uncorrlated and away from 2 means the residuals are correlated. iii) Next we check Homoscedasticity by Breusch-Pagan test. iv) Then we run Anderson-Darling test for checking residuals are normally distributed or not. Results found and their interpretation : After doing the above mentioned steps I found the following results o After running the linear model first checking ANOVA , I found p value is less than 0.05 , which means that at least one of the co-efficient of not zero, so we can go with this dataset. o Next we check each independent variables p value , we kept those independent variables which has p value less than 0.05( Detete one independent variable at a time) , which means co-efficient of that variables are not zero. o Next we check R squre which is 0.92 and Adjusted R squre which is 0.9198. Both the values close to 1 means better the model. o I found the value of MAPE is 0.1028 , Lesser the MAPE better the model (MAPE ranges between 0 to 1). o To check for any two observations the residual terms are uncorrelated or not we use Durbin-Watson test. Get the p value 0.764, which means residual terms are uncorrelated. o Next we check Homoscedasticity by Breusch-Pagan test , Get the p value less than 0.05 , which means it is Heteroscedastic. o Next we check Residuals are normally distributed or not by Anderson-Darling test , we get the p value less than 0.05 , which means residuals are not normally distributed. Significance of the variables and their business meaning : In the given dataset we have 1 dependent and 23 independent variables. After running Linear Model we found 7 independent variables are significant for the model. Let us discuss about them o Variable name – Education : It is a dummy variable with base “Bachelor” and from our model we found that if customers education is “Master” then CLV will be more than “Bachelor”. Education “Doctor” Will add more CLV than “Master”. Education “College” and “High school and below” will add more CLV than “Doctor”. o Variable name – Gender : It is a dummy variable with base “F” and from our model we found that if Gender is Male then CLV will be less than the CLV for Female. o Variable name – Income : It is a numerical variable. The customers whose income is more , CLV will be more for them. o Variable name – Marital.status : It is a dummy variable with base “Divorced”. CLV of Married persons will more than Divorced but CVL of Single will be less than the CLV of divorced. o Variable name – Monthly.Premium.Auto : It is a numerical variable. For more counts CLV will be more. o Variable name – Number of open complaints : The customers who complaints more, CLV will be less for them. o Variable name – Number of Policies : The customers who have more than 1 policies, CLV will be more for them.
Fixes hierophants holding a reference to themselves, OH MY GOD WHO THE FUCK WROTE THIS SHIT
cbfs: Increase mcache size defaults
The CBFS mcache size default was eyeballed to what should be "hopefully enough" for most users, but some recent Chrome OS devices have already hit the limit. Since most current (and probably all future) x86 chipsets likely have the CAR space to spare, let's just double the size default for all supporting chipsets right now so that we hopefully won't run into these issues again any time soon.
The CBFS_MCACHE_RW_PERCENTAGE default for CHROMEOS was set to 25 under the assumption that Chrome OS images have historically always had a lot more files in their RO CBFS than the RW (because l10n assets were only in RO). Unfortunately, this has recently changed with the introduction of updateable assets. While hopefully not that many boards will need these, the whole idea is that you won't know whether you need them yet at the time the RO image is frozen, and mcache layout parameters cannot be changed in an RW update. So better to use the normal 50/50 split on Chrome OS devices going forward so we are prepared for the eventuality of needing RW assets again.
The RW percentage should really also be menuconfig-controllable, because this is something the user may want to change on the fly depending on their payload requirements. Move the option to the vboot Kconfigs because it also kinda belongs there anyway and this makes it fit in better in menuconfig. (I haven't made the mcache size menuconfig-controllable because if anyone needs to increase this, they can just override the default in the chipset Kconfig for everyone using that chipset, under the assumption that all boards of that chipset have the same amount of available CAR space and there's no reason not to use up the available space. This seems more in line with how this would work on non-x86 platforms that define this directly in their memlayout.ld.)
Also add explicit warnings to both options that they mustn't be changed in an RW update to an older RO image.
BUG=b:187561710
Signed-off-by: Julius Werner [email protected] Change-Id: I046ae18c9db9a5d682384edde303c07e0be9d790 Reviewed-on: https://review.coreboot.org/c/coreboot/+/54146 Tested-by: build bot (Jenkins) [email protected] Reviewed-by: Angel Pons [email protected] Reviewed-by: Tim Wawrzynczak [email protected] Reviewed-by: Aaron Durbin [email protected]
[alpaka] Pixel track reconstruction chain until vertices (all kernels, AlpakaDataFormats, CondFormats, validation utilities, helper functions).
Change wait(queue) location in ESProducer (not sure it matters though)
Add PixelCPEFast, pixelCPEforGPU and PixelCPEFastESProducer
Add SiPixelRecHitAlpaka. Not doing anything for now, will just allow progressive addition of helpers
Add TrackingRecHit2DAlpaka and TrackingRecHit2DSOAView data formats. + SiPixelRecHitAlpaka
Added TrackingRecHit2DAlpaka, gpuPixelRecHits kernel, and PixelRecHits handler. Compiles, still need to fix linker issue.
Fixed linker error
Remove useless includes
Add validation. RecHits results with serial and TBB are 100% ok, with CUDA backend they must be a bug to fix
Fixed bug for CUDA backend. Now all RecHits results are 100% ok, for all backends :)
Make the current transfers to host async. Does not change anything in terms of perf, with current usage (only in validation, with no overlap with heavy host work.
remove comments
clang-format
fixed comments in TrackingRecHit2DAlpaka
Add AlpakaCore/VecArray, AlpakaCore/eigenSoA, AlpakaDataFormats/PixelTrackAlpaka and AlpakaDataFormats/TrajectoryStateSoA. Bonus: also add AlpakaDataFormats/ZVertexHeterogeneous, so that all CondFormats, AlpakaDataFormats and AlpakaCore repos should be complete now. + Add CAHitNtupletCUDA
Choose PixelTrackHeterogeneous to be AlpakaDeviceBufpixelTrack::TrackSoA. TO DO: Could also have a PixelTrackHeterogeneous class with the deviceBuf as member data, and a toHost() function.
Add CAConstants, CircleEq, GPUCACell, choleskyInversion. TO DO: need to sort out an Alpaka-equivalent of __threadfence(), which is not in Alpaka library :/
Renamed CAHitNtupletCUDA to CAHitNtupletAlpaka + forogot to add ZVertexSoA (not needed for now anyway).
TO DO: put alpaka::wait(device) for now, not ok!!
Moved CAConstants and GPUCACell to alpaka directory, as they are alpaka dependent anyway.
fixed header
Add FitUtils, FitResult, HelixFitOnGPU + rename PixelTrackHeterogeneous to PixelTrackAlpaka.
Fix namespace inclusion in FitUtils
Accidentally modified src/cuda
Helper kernel functions: Does not make sense to handle Vec2, as the stride might be over grid in one grid dimension and block over another grid dimension, and the 1D helper functions are needed for any grid dimension, and are generic enough to be used for any grid dimension. Reshape helper functions so that they can be used on any grid dimension. TO DO: Replace Vec1 by scalar in helpers and all call sites. In alpakatest, replace Vec2 by 2 calls to helper for each grid dimension. TO DO: Would also ne nice to explicitely ask for the indexShift, instead of providing a default 0 shift.
Add gpuFishbone, gpuPixelDoublets and gpuPixelDoubletsAlgos 2D kernels.
Add BrokenLine and RiemannFit kernels and helper functions
Forgot to add RiemannFitOnGPU + fix template parameters in BrokenLineFitOnGPU and RiemannFitOnGPU.
Add all the kernels in CAHitNtupletGeneratorKernelsImpl
Add CAHitNtupletGeneratorOnGPU and CAHitNtupletGeneratorKernels
Fixed all compilation errors
GPUCACell: temporary hack to see what is going on, but need to find a decent alpaka-equivalent to threadfence
Add kernel launchers launchRiemannKernels and launchBrokenLineKernels.
Add PixelTrackSoAFromAlpaka
Add PixelTracks validation
Fix compilation
2D Grid dimensions were inverted for alpaka
Also activate track fitting
Discovery: I was assuming that alpaka::memcpy would internally detect when the src and dest buffers are both on CPU and in that case, do nothing. Instead, it does a copy from CPU to CPU ! (detected thanks to framework product error). Fixed by compiler directives for now. NB: why such a behavior in alpaka internally?
CPU, memcpy from device to host: avoid unnecessary copies with compilers directives. TO DO: need to do the same for all copies from host to device: in BeamSpotAlpaka, DigiErrors, and all producers
Remove commented code. NB: All results from validation and histograms for tracks are 100% ok for all backends :)
Remove unnecessary waits
Maybe the end of scope alpaka::wait(queue) are not needed, though wait a bit for removing them as it is easier to remove than dealing with the associated segfaults
HistoContainer: replace launchZero() by version similar to legacu: use memset instead of kernel. Interestingly, the kernel version seemed to be very slightly faster (but ok, if we have different implementations we will be comparing apples with oranges
In Alpaka 2D grids, index 1 is faster, not 0, so switch.
No need to recompute dimensionX inside innermost loop. No noticeable effect on perf though.
Comments on GPUCACell (threadfence() magic)
Add comments on stats counter (not activated by default, debug only, here is per event instead of sum of all events).
clang-format
Restore makefile
accidentally forgot ALPAKA_FN_INLINE
Remove commented code
comments
Vertices: add validation + simple changes in AlpakaDataFormats/ZVertexAlpaka + Add PixelVertexSoAFromAlpaka and PixelVertexProducerAlpaka
compiles
Add gpuVertexFinder. Will uncomment kernels launches when the kernels are incorporated.
Add gpuClusterTracksByDensity
Add gpuClusterTracksDBSCAN
Add gpuClusterTracksIterative
Add gpuFitVertices
Add gpuSplitVertices
Very important: threadIdxLocal can be used for SERIAL and TBB backends in contexts like (threadIdxLocal == 0) (ie once per block). It cannot be used for operations, memory assignemnts and so on: needs to use a loop over the elements, because for these backends, threadIdxLocal is always equal to 0!
Add radixSort
Fix compilation errors (still template deduction for radixSort to fix)
Fix rest of compilation
Same asserts as in legacy
Fix merge conflict
Keep shared variablers with && for now. Will need to see (on full chain) if replacing by auto& has any impact on perf.
Fixed the spurious bug occuring in splitVertices in SETIAL and TBB backends: placing the shared variables outside the loop has no effect on results and avoids the spurious (frequent) crashes (not sure why, but it works).
remove to do
clang-format
comment in radix sort
Fix compilation with -DGPU_DEBUG
Fix vertex token in validation
Adding compiler directives to avoid commenting code each time one uses -DNDEBUG (plus is not nice to have core functions declaring unused variables;p)
Take shared variables by reference, as is done in Alpaka examples.
int by value in helper
Consistant index type in helpers
The only 2D grid helper functions use case actually needed to distangle grid loop / block loops, as there is no reason for these strides to be in common for the 2 dimensions. Hence just call helpers for one dimension at a time, which also simplify the interface: Idx instead of Vec arguments / returns.
Important: cannot use #ifndef NDEBUG for removing the unused variable message with -DNDEBUG in gpuPixelDoublets.h, because cellNeighbors->extend(acc) is non-const: it modifies the cellNeighbors vector.
No need to pass element index shift by reference (we are not with vectors anymore..).
Minor fix in assert
Rename helper functions: remove 1D since they are all 1D anyway, and simplify names.
Comment in next_valid_element_index_strided and in gpuPixelDoublets
restore Makefile
clang-format
Comment on helper function next_valid_element_index_strided
NB: shared memory size in splitVertcies can possibly be an issue, needs to be looked at properly.
Commnets in helper functions
Create my_data_transform.py
Description We have been provided a dataset of sales from My Online Coffee Shop. It's a CSV (Comma Separated Values) (each columns are separated by , and each line by \n) Our goal will be to identify customer who are more likely to buy coffee online.
Data management is hard problem, as hard problem we have to split them into smaller one.
Here is our first step: data prep.
You noticed our CSV is composed of 3 columns we cannot group them easily: Email - Age - Order At.
For the email, we will consider the provider. For the age column, we consider a group from [1->20] - [21->40] - [41->65] - [66->99] For the Order at column, we consider a group for [morning => 06:00am -> 11:59am] - [afternoon => 12:00pm -> 5:59pm] - [evening => 6:00pm -> 11:59pm]
You will have to create a function which will replace the value in each of this column with the correct actionable data. (ex: if the age is between 21 and 40, replace by "21->40")
Order At is a little more tricky.
Your function will be prototyped: def my_data_transform(csv_content) It will take a string which contains data in CSV format and it will return a string in CSV format with the column Email, Age and Order At transformed.
Function prototype (python)
class Solution: """ :type param_1: {String} :rtype: string[] """ def my_data_transform(self, param_1):
Example 00
Input: "Gender,FirstName,LastName,UserName,Email,Age,City,Device,Coffee Quantity,Order At\nMale,Carl,Wilderman,carl,[email protected],29,Seattle,Safari iPhone,2,2020-03-06 16:37:56\nMale,Marvin,Lind,marvin,[email protected],77,Detroit,Chrome Android,2,2020-03-02 13:55:51\nFemale,Shanelle,Marquardt,shanelle,[email protected],21,Las Vegas,Chrome,1,2020-03-05 17:53:05\nFemale,Lavonne,Romaguera,lavonne,[email protected],81,Seattle,Chrome,2,2020-03-04 10:33:53\nMale,Derick,McLaughlin,derick,[email protected],47,Chicago,Chrome Android,1,2020-03-05 15:19:48\n" Output: ["Gender,FirstName,LastName,UserName,Email,Age,City,Device,Coffee Quantity,Order At", "Male,Carl,Wilderman,carl,yahoo.com,21->40,Seattle,Safari iPhone,2,afternoon", "Male,Marvin,Lind,marvin,hotmail.com,66->99,Detroit,Chrome Android,2,afternoon", "Female,Shanelle,Marquardt,shanelle,hotmail.com,21->40,Las Vegas,Chrome,1,afternoon", "Female,Lavonne,Romaguera,lavonne,yahoo.com,66->99,Seattle,Chrome,2,morning", "Male,Derick,McLaughlin,derick,hotmail.com,41->65,Chicago,Chrome Android,1,afternoon"] Tip (In Python) You are allow to use the library datetime import datetime
date_time_str = '2020-03-06 16:37:56' date_time_obj = datetime.datetime.strptime(date_time_str, '%Y-%m-%d %H:%M:%S')
Switch to /proc as source of running compile
While in theory, the log file should give us the truth of what compiles are running, in reality, sometimes golop in its old form would show aborted/failed compiles as still going on. Typically, this was due to some compile of foo failing while the long-running parallel compile of bar was still going on. This would show both foo and bar still running. This situation also sometimes happened when multiple independent emerges (not just parallel compiles) were going on.
So instead of reading current state from the log file, we use /proc. There are downsides to this approach:
- We now depend on having /proc (not necessarily true with prefix installations) and it being readable for the current user (some paranoid setups make /proc/[pid]/cmdline only readable by the process's user and root).
- This pretty ugly, since it uses a global variable. It could probably be worked around by returning and passing the latestStart variable around.
- It parses the log file on -c even if there are no compilations running. I had hoped that somewhere in the process tree above the sandbox, there would be a process that lives during the whole set of ebuild phases. Unfortunately, the only process for which that is true is the top-level emerge process, which is not useful in this case.
As long as Portage (or emerge.log) doesn't change fundamentally, this probably the best we can do. The neatest solution overall would be the ability to talk to the emerge process about what is currently doing.
feat(heater-shaker): read NTC thermistors (#161)
This commit adds support for reading the onboard thermistors and the heater pad thermistors.
The way you convert from NTC resistance (which is temperature dependent) into a temperature is by using a vendor-provided lookup table (since otherwise there's lots of lovely ln and exp in there that you don't want to deal with). This is (in this case) provided in a csv; we'd like it as c++ source. So let's use cmake's ability to add custom targets and use the output of those custom targets really easily to check in the csv and generate c++ source and headers using a python script.
The new heater_hardware follows or perhaps starts or intensifies the pattern in the motor where there needs to be a bridge, written by us, between the c code with c expectations in the hal and the c++ code with c++ expectations in the rest of the firmware. For instance, just because we can turn off diagnostics about improper (for c++) use of volatile, that doesn't mean we can actually use the macros that cause the warning; we need to do that from C.
So, heater_hardware.c and .h provide a C interface to the hardware that is usable by the c++ side.
This code brings up the ADC used by the thermistor pins. It's configured so that the C++ code kicks off a three-channel conversion sequence, with an interrupt firing after each conversion and eventually (when all three channels have been converted) firing off a callback that should be provided by the c++ side.
There's an annoying bit of statefulness in this code around remembering which adc channel is currently being converted; the hardware doesn't do it, the hal doesn't do it, so we have to do it. This also makes the defensive coding in the conversion complete callback a little tricky because even if we're not initialized yet (not that the callback should fire before initialization) we need to make sure we don't get out of sync with the ADC's internal state.
The thermistor conversion class ingests ADC readings directly (with parametrization about the adc bit depth and the hardware parameters for the thermistor circuit) and uses the autogenerated tables for the thermistor and some other math to convert the values to C. It's also almost monadic but I'm too much of a coward to go all the way. The Result types get carried through and bring any errors in the intermediates back to the caller rather than having to try and signal it in-band by carving out like -1 or -inf as an error signal.
The numbers on the bias resistance in the test are slightly weird because I forgot that number needed to be in kOhm rather than Ohm but the numbers in the tests aree all arbitrary anyway, it's the boundary checking around the std::find that needs to be tested.
Adds a message that will come from a hardware task and carry updated ADC readings to the heater task. The heater task then converts the readings to temperatures and handles any errors that result.
There needs to be a followup that handles things like the case where the thermistor is broken and only gives bad readings; right now, we'll just send an error every single time which isn't the most helpful thing in the world.
As a sidenote, the temperature update messages going in provide a useful but somewhat sideways way of specifying the control loop frequency. I think it's ok that it's implicit since the actual sequence will be specified by the value defined in this class.
For some reason the freertos call vTaskDelayUntil, which is the standard way in an rtos to get stable timing in calls (you can't just use a relative delay because the time you take actually doing stuff will add up over time) isn't available by default. Now it is.
As with the motor task, we need another internal task to drive timing and hardware-dependent stuff we don't want to sully the perfection of the main c++ task. The task in this case does a bit less than in the motor; it just serves to kick off a temperature update every so often. This happens every so often rather than as fast as possible for two reasons:
- The physical time scale we're talking about here is thermal, which means slow. There's no point reading these ADCs in the megahertz (or kilohertz, or frankly hertz) range because temperatures don't change that fast; NTCs don't react that fast; and we have an antialiasing filter in front of us anyway.
- There's no point having a million interrupts firing all the time if we're not going to use the values.
So instead, we have this heater hardware task that runs (for now) at 10Hz (which can probably be lowered to more like 1 or 0.5Hz) and kicks off an ADC conversion, which will cause 3 interrupts, one for each channel, and send a message to wake the heater task on the third. That means the main heater task will also run at 10Hz, just 3 adc conversions later.
Annoyingly, this micro's ADCs can be set up in chain conversion mode but they only give you an interrupt after all the conversions are complete, so if you're not either polling to catch it or using DMA you won't see the first two. Of course, we didn't have it in that mode anyway before that, but that's why the fix is to start the next conversion in the interrupt from the previous conversion rather than to just enable scan mode.
Delete Tamannaah Bhatia On Love Life Career Growth Mentality Covid Experience The Ranveer Show 77.mp3
Speed up raw writer by buffering
Remember, boys and girls, Rust IO frequently doesn't buffer by default, and then it's veeeeeery sloooooooow.
Here we get 2-3 orders of magnitude speedup!
"1:10pm. Done with breakfast and the Kumo ep. Let me do the chores here and then I'll resume the thesis.
1:30pm. I am back. Let me resume. Forget aobut programming today. Instead I will focus on this thesis and then I'll go through the BM section of Hinton's course again.
I should get familiar with energy based models and get them out of the way once and for all.
1:35pm.
Thus, the gradient dynamics for neuron si with respect to the Hopfield energy is given by the formula dsi dt = σ 0(si) �P j6=i Wijσ(sj ) � −si . This dynamics is reminiscent of the leaky integrator neuron model, a simplified neuron model commonly used in neuroscience.
1:40pm. 55/119.
One of the novelties of EqProp with respect to prior learning algorithms for energy-based models is the total energy function F, which takes the form F = E + β C, where β is a real-valued scalar (the nudging factor). The function C not only represents the cost to minimize, but also contributes to the total energy of the system by acting like an external potential for the output neurons (o). Thus, the total energy F is the sum of two potential energies: an ‘internal potential’ (E) that models the interactions within the network, and an ‘external potential’ (β C) that models how the targets influence the output neurons. The resulting gradient dynamics dst dt = − ∂E ∂s − β ∂C ∂s consists of two ’forces’ which
I do not get it. I do not get this energy of the system concept. How does having it affect anything?
57/119. No I can't read this. I get the math itself, but not what is happening.
https://www.youtube.com/results?search_query=energy+based+models
I am missing the bigger picture. Let me grasp what energy based models are, and then I'll move from there.
https://www.youtube.com/watch?v=BqgnnrojVBI [SAIF 2020] Day 1: Energy-Based Models for Self-Supervised Learning - Yann LeCun | Samsung
Let me go for this.
https://youtu.be/BqgnnrojVBI?t=262
Ah, I am starting to remember this a little. Actually, I don't get the update in the paper. I am doing math in my head and the symbols are not coming out as I anticipated. I am pretty awful at mental math. I am going to have to take the EqProp formula and derive the update for the Hopfield net on my own.
https://youtu.be/BqgnnrojVBI?t=521
I hadn't linked denoising autoencoders to transformer pretraining myself.
2:30pm. The talk is done.
Damn it, I really had to get hung up on this today. I just could not resist. I will figure this out even if it kills me.
Let me go back to the paper.
2:40pm. 57/118. Ok, I see how this could be derived. It would make sense if W was used to arrive at both the regular outputs and the test outputs. Then you could take the gradient with respect to both sides and get the update rule.
Something like...
C = |f(x) - y| where
f(x) = W x and
y = W x'
Then if you take the derivative with both sides you'd get the gradient as being x - x'
.
But that is not how the equation works.
http://yann.lecun.com/exdb/publis/pdf/lecun-06.pdf A Tutorial on Energy-Based Learning
Let me check out this tutorial.
3/59. Hah...they completely make it look like standard NN training. This sucks, I have no idea how to digest this. Maybe understanding this will take me more than a single day. But I want it.
https://youtu.be/Od_ydKa6hbM?t=1310
This is the EqProp yields STDP link. I think I see it now, d(s * s') / dt
probably means that s
and s'
are dependent on t
, and can take on different values at different times. So the update is something like (s(t) * s'(t) - s(t') * s'(t')) / (t - t')
.
https://www.sciencedirect.com/science/article/pii/S2589004221001905
Some EqProp on SNNs papers exist.
3:15pm. You know what, instead of trying to reason it out, I should be putting these figures into Python and comparing the result.
import torch
import torch.functional
import torch.nn
import torch.nn.functional
s = torch.tensor([1,1],torch.float32)
w = torch.scalar_tensor(2,dtype=torch.float32)
o = w * s[0] * s[1]
Let me start with this. Now let me define the energy function for a Hopfield net.
45/119. Actually what I defined there is the energy for a Hopfield net.
...No wait, there is a - there.
E = -w * s[0] * s[1]
So the energy should be this.
At inference, neurons stabilize to a minimum of the energy function, where the condition ∂E ∂s = 0 is met.
Maybe I need to add a regularization term. Otherwise the energy will have a minimum at -inf.
But nevermind this for now. How would I define the cost?
s1 = torch.tensor([1,1],torch.float32)
s2 = torch.tensor([2,2],torch.float32)
y = torch.scalar_tensor(0,dtype=torch.float32)
w = torch.scalar_tensor(2,dtype=torch.float32)
def F(s): w * s[0] * s[1]
def E(s): -F(s)
def C(s): torch.abs(F(s) - y)
r = E(s1) + C(s2)
Ok, I actually see it now. Here the energy is negative, and inside the cost it is positive. Taking the derivative with respect to the weights of this would give me the constrastive update rule in the paper.
I need to keep in mind, that the b
is not just a random variable. There also be a division by b
in the denominator.
Hmmm, let check out the video by Begio. The paper is confusing me by showing me examples without the division in the denominator.
https://youtu.be/Od_ydKa6hbM?t=1036
Here is the main theorem.
3:45pm. Ok, I think I understand this now. Let me go back to the thesis.
Indeed, the EqProp rules are different than what you'd get just by backproping the cost function. It naturally results in constrastive losses.
4:05pm. 56/119. I think I can understand everything so far in the paper.
...Ok, maybe not everything, I skipped the RNN stuff as it seemed complicated and not related to the core of the paper.
These ideas are definitely interesting. They are simple, and therefore plausible. Definitely better than whatever physics inspired idea I could have cooked up myself.
I can think of ways of doing inference in these models. First I'd optimize the states until equilibrium. Then I'd optimize the states with the nudging to some target. Adding a target would in fact change the shape of the energy landscape. Once that is done, I'd take the gradients with respect to the weights.
Hmmm, there is something different about this. These contrastive losses I get the sense, that while optimizing directly for the cost might be the equivalent of stretching, these kinds of contrastive operations feel more like movement.
It feels like the procedure undoes the old state before putting in the new one.
I am just being imaginative here. Let me continue reading the paper.
4:25pm. > Number of iterations in the free phase (T). We find experimentally that for the network to be successfully trained, it is necessary that the equilibrium state be reached with very high precision in the free phase (otherwise the gradient estimate of EqProp is unreliable). As a consequence, we require a large number of iterations (denoted T) to reach this equilibrium state. Moreover we find that T grows fast as the number of layers increases (see Table 1). Nevertheless, we will see in Chapter 5 that we can experimentally cut down the number of iterations by a factor five by rewriting the free phase dynamics differently. Importantly, we stress that the large number of time steps required in the free phase is only a concern for computer simulations ; we will see in Chapter 4 that inference can potentially be extremely fast if performed appropriately on analog hardware (by using the physics of the circuit, rather than numerical optimization on conventional computers).
4:35pm. 65/119. This chapter is on implementing EqProp on neuromorphic chips. That should be interesting.
4:45pm. 74/119.
A piece of good news is that there is empirical evidence that training neural networks by stochastic gradient descent (SGD) works well, even if for each weight, only the sign of the weight gradient is known. Variants of SGD which use the sign of the gradient rather than its exact value work well in practice. At each step of this training procedure, the weight update for θk takes the form ∆θk = −η sign � ∂L ∂θk � . The effectiveness of this optmization method has been shown empirically in the context of differentiable neural networks trained with backpropagation [Bernstein et al., 2018].
Let me check this out.
https://arxiv.org/abs/1802.04434 signSGD - Compressed Optimisation for Non-Convex Problems
Training large neural networks requires distributing learning across multiple workers, where the cost of communicating gradients can be a significant bottleneck. signSGD alleviates this problem by transmitting just the sign of each minibatch stochastic gradient. We prove that it can get the best of both worlds: compressed gradients and SGD-level convergence rate. The relative ℓ1/ℓ2 geometry of gradients, noise and curvature informs whether signSGD or SGD is theoretically better suited to a particular problem. On the practical side we find that the momentum counterpart of signSGD is able to match the accuracy and convergence speed of Adam on deep Imagenet models. We extend our theory to the distributed setting, where the parameter server uses majority vote to aggregate gradient signs from each worker enabling 1-bit compression of worker-server communication in both directions. Using a theorem by Gauss we prove that majority vote can achieve the same reduction in variance as full precision distributed SGD. Thus, there is great promise for sign-based optimisation schemes to achieve fast communication and fast convergence. Code to reproduce experiments is to be found at this https URL .
Oh, this is good news if I ever want to normalize gradients completely even in an online setting without worrying about moving averages.
5pm. Forget this, let me get back to the paper. I want to finish it today.
5:30pm. 93/119. I'll soon be done. After I finish, I'll watch some vids on Hopfield nets.
99/119. Ok, enough. I do not feel like studying these extras. Let me skim to the end and then I'll start moping up for the day.
5:45pm. Finally done with the thesis. It seems that the Lagrangian systems was a small part of the whole thing.
I am going to skip the paper by LeCun. Let me study Hopfield nets for a bit.
https://www.youtube.com/watch?v=fkIJwYArKpw What is a Hopfield Network?
This is pretty interesting. He says that exponentially many patterns can be stored depending on the dimension.
https://www.youtube.com/watch?v=bsdPZJKOlQs Modern Hopfield Networks - Dr Sepp Hochreiter
https://www.youtube.com/watch?v=k3YmWrK6wxo Hopfield Networks in 2021 - Fireside chat between Sepp Hochreiter and Dmitry Krotov | NeurIPS 2020
There are two videos in the sidebar by Sepp Hochreiter (LSTM inventor) on just the Hopfield nets.
https://www.youtube.com/watch?v=DKyzcbNr8WE John Hopfield: Physics View of the Mind and Neurobiology | Lex Fridman Podcast #76
Here is a short interview with John Hopfield by Lex Friedman.
I really do not feel like watching this right now.
I think it is enough that I internalized equilibruim propagation. When you glance from the side, it is not obvious whether the poor performing method is a hack, or whether it could be something bigger. I'd place EqProp right now in the same category as GANs before the duality gap method. EqProp will need memristive chips to reach its fully potential, but once they arrive, it might become dominant.
And it does not displace any of the architectural innovations at all. My module idea is safe and sound.
Whatever weaknesses it has in simulation won't exist in analog systems, the energies will be constrainted by the physics of the system. And the particular shape of the update will render it more resistant to device variations that regular backprop.
6pm. I really do want to look more into Hopfield nets. Some of the old ideas might be of interest considering where we will go in the future.
I guess I will be studying tomorrow as well.
I said I would program today if I did not get hung up on researching things, and well, the later is what happened. But it is not like I am wasting time.
6:35pm. https://www.youtube.com/watch?v=_QVUyXhu59I Large Associative Memory Problem in Neurobiology and Machine Learning - Dmitry Krotov, PhD
I'll watch the fireside chat just for a bit.
Let me close here. Tomorrow, I'll dedicate to these videos."
THE RUSE OF THE ABBOT JEAN TRITHÈME
Each letter of this alphabet corresponds to a spell :
A Mobilicorpus B Morsmordre C Mutismus D "Sonorus E Oubliette F Crac badaboum G Allohomora H Portus I Prior incanta J Protego K Enervatum L Recurvite M Reducto N Petrificus totalus O Tarretallegra P Rictuscempra Q Serpentasortia R Silencio S Evanesco T Sonorus U Sourdinam V Spero patronum W Stupefix X Tarrentallegra Y Reparo Z Wingardium leviosa
Find the hidden word using the different spells and the alphabet in the poem, enjoy !
Don't think you'll escape me anytime soon, allohomora ! Enough of your antics, silencio and join me my dear! Come to me reparo before my heart suffers again from a Crac badaboum, you feel me ? Crac badaboum me again, I promise to not disturb you. A beginning of Tarrentallegra takes me so much I love you. I am at a loss for words with all these emotions! No matter where you are, I feel your hands petrifyingly tatalus me. Come closer, sonorus let your voice be heard in every corner of the world! So, magical your voice is, Let’s find a place and Tarrentallegra all night ! Don’t put me in silencio my dear. Please, marry me!
Create EpicPlaceholder
According to all known laws of aviation, there is no way a bee should be able to fly. Its wings are too small to get its fat little body off the ground. The bee, of course, flies anyway because bees don't care what humans think is impossible. Yellow, black. Yellow, black. Yellow, black. Yellow, black. Ooh, black and yellow! Let's shake it up a little. Barry! Breakfast is ready! Ooming! Hang on a second. Hello? - Barry? - Adam? - Oan you believe this is happening? - I can't. I'll pick you up. Looking sharp. Use the stairs. Your father paid good money for those. Sorry. I'm excited. Here's the graduate. We're very proud of you, son. A perfect report card, all B's. Very proud. Ma! I got a thing going here. - You got lint on your fuzz. - Ow! That's me! - Wave to us! We'll be in row 118,000. - Bye! Barry, I told you, stop flying in the house! - Hey, Adam. - Hey, Barry. - Is that fuzz gel? - A little. Special day, graduation. Never thought I'd make it. Three days grade school, three days high school. Those were awkward. Three days college. I'm glad I took a day and hitchhiked around the hive. You did come back different. - Hi, Barry. - Artie, growing a mustache? Looks good. - Hear about Frankie? - Yeah. - You going to the funeral? - No, I'm not going. Everybody knows, sting someone, you die. Don't waste it on a squirrel. Such a hothead. I guess he could have just gotten out of the way. I love this incorporating an amusement park into our day. That's why we don't need vacations. Boy, quite a bit of pomp... under the circumstances. - Well, Adam, today we are men. - We are! - Bee-men. - Amen! Hallelujah! Students, faculty, distinguished bees, please welcome Dean Buzzwell. Welcome, New Hive Oity graduating class of... ...9:15. That concludes our ceremonies. And begins your career at Honex Industries! Will we pick ourjob today? I heard it's just orientation. Heads up! Here we go. Keep your hands and antennas inside the tram at all times. - Wonder what it'll be like? - A little scary. Welcome to Honex, a division of Honesco and a part of the Hexagon Group. This is it! Wow. Wow. We know that you, as a bee, have worked your whole life to get to the point where you can work for your whole life. Honey begins when our valiant Pollen Jocks bring the nectar to the hive. Our top-secret formula is automatically color-corrected, scent-adjusted and bubble-contoured into this soothing sweet syrup with its distinctive golden glow you know as... Honey! - That girl was hot. - She's my cousin! - She is? - Yes, we're all cousins. - Right. You're right. - At Honex, we constantly strive to improve every aspect of bee existence. These bees are stress-testing a new helmet technology. - What do you think he makes? - Not enough. Here we have our latest advancement, the Krelman. - What does that do? - Oatches that little strand of honey that hangs after you pour it. Saves us millions. Oan anyone work on the Krelman? Of course. Most bee jobs are small ones. But bees know that every small job, if it's done well, means a lot. But choose carefully because you'll stay in the job you pick for the rest of your life. The same job the rest of your life? I didn't know that. What's the difference? You'll be happy to know that bees, as a species, haven't had one day off in 27 million years. So you'll just work us to death? We'll sure try. Wow! That blew my mind! "What's the difference?" How can you say that? One job forever? That's an insane choice to have to make. I'm relieved. Now we only have to make one decision in life. But, Adam, how could they never have told us that? Why would you question anything? We're bees. We're the most perfectly functioning society on Earth. You ever think maybe things work a little too well here? Like what? Give me one example. I don't know. But you know what I'm talking about. Please clear the gate. Royal Nectar Force on approach. Wait a second. Oheck it out. - Hey, those are Pollen Jocks! - Wow. I've never seen them this close. They know what it's like outside the hive. Yeah, but some don't come back. - Hey, Jocks! - Hi, Jocks! You guys did great! You're monsters! You're sky freaks! I love it! I love it! - I wonder where they were. - I don't know. Their day's not planned. Outside the hive, flying who knows where, doing who knows what. You can'tjust decide to be a Pollen Jock. You have to be bred for that. Right. Look. That's more pollen than you and I will see in a lifetime. It's just a status symbol. Bees make too much of it. Perhaps. Unless you're wearing it and the ladies see you wearing it. Those ladies? Aren't they our cousins too? Distant. Distant. Look at these two. - Oouple of Hive Harrys. - Let's have fun with them. It must be dangerous being a Pollen Jock. Yeah. Once a bear pinned me against a mushroom! He had a paw on my throat, and with the other, he was slapping me! - Oh, my! - I never thought I'd knock him out. What were you doing during this? Trying to alert the authorities. I can autograph that. A little gusty out there today, wasn't it, comrades? Yeah. Gusty. We're hitting a sunflower patch six miles from here tomorrow. - Six miles, huh? - Barry! A puddle jump for us, but maybe you're not up for it. - Maybe I am. - You are not! We're going 0900 at J-Gate. What do you think, buzzy-boy? Are you bee enough? I might be. It all depends on what 0900 means. Hey, Honex! Dad, you surprised me. You decide what you're interested in? - Well, there's a lot of choices. - But you only get one. Do you ever get bored doing the same job every day? Son, let me tell you about stirring. You grab that stick, and you just move it around, and you stir it around. You get yourself into a rhythm. It's a beautiful thing. You know, Dad, the more I think about it, maybe the honey field just isn't right for me. You were thinking of what, making balloon animals? That's a bad job for a guy with a stinger. Janet, your son's not sure he wants to go into honey! - Barry, you are so funny sometimes. - I'm not trying to be funny. You're not funny! You're going into honey. Our son, the stirrer! - You're gonna be a stirrer? - No one's listening to me! Wait till you see the sticks I have. I could say anything right now. I'm gonna get an ant tattoo! Let's open some honey and celebrate! Maybe I'll pierce my thorax. Shave my antennae. Shack up with a grasshopper. Get a gold tooth and call everybody "dawg"! I'm so proud. - We're starting work today! - Today's the day. Oome on! All the good jobs will be gone. Yeah, right. Pollen counting, stunt bee, pouring, stirrer, front desk, hair removal... - Is it still available? - Hang on. Two left! One of them's yours! Oongratulations! Step to the side. - What'd you get? - Picking crud out. Stellar! Wow! Oouple of newbies? Yes, sir! Our first day! We are ready! Make your choice. - You want to go first? - No, you go. Oh, my. What's available? Restroom attendant's open, not for the reason you think. - Any chance of getting the Krelman? - Sure, you're on. I'm sorry, the Krelman just closed out. Wax monkey's always open. The Krelman opened up again. What happened? A bee died. Makes an opening. See? He's dead. Another dead one. Deady. Deadified. Two more dead. Dead from the neck up. Dead from the neck down. That's life! Oh, this is so hard! Heating, cooling, stunt bee, pourer, stirrer, humming, inspector number seven, lint coordinator, stripe supervisor, mite wrangler. Barry, what do you think I should... Barry? Barry! All right, we've got the sunflower patch in quadrant nine... What happened to you? Where are you? - I'm going out. - Out? Out where? - Out there. - Oh, no! I have to, before I go to work for the rest of my life. You're gonna die! You're crazy! Hello? Another call coming in. If anyone's feeling brave, there's a Korean deli on 83rd that gets their roses today. Hey, guys. - Look at that. - Isn't that the kid we saw yesterday? Hold it, son, flight deck's restricted. It's OK, Lou. We're gonna take him up. Really? Feeling lucky, are you? Sign here, here. Just initial that. - Thank you. - OK. You got a rain advisory today, and as you all know, bees cannot fly in rain. So be careful. As always, watch your brooms, hockey sticks, dogs, birds, bears and bats. Also, I got a couple of reports of root beer being poured on us. Murphy's in a home because of it, babbling like a cicada! - That's awful. - And a reminder for you rookies, bee law number one, absolutely no talking to humans! All right, launch positions! Buzz, buzz, buzz, buzz! Buzz, buzz, buzz, buzz! Buzz, buzz, buzz, buzz! Black and yellow! Hello! You ready for this, hot shot? Yeah. Yeah, bring it on. Wind, check. - Antennae, check. - Nectar pack, check. - Wings, check. - Stinger, check. Scared out of my shorts, check. OK, ladies, let's move it out! Pound those petunias, you striped stem-suckers! All of you, drain those flowers! Wow! I'm out! I can't believe I'm out! So blue. I feel so fast and free! Box kite! Wow! Flowers! This is Blue Leader. We have roses visual. Bring it around 30 degrees and hold. Roses! 30 degrees, roger. Bringing it around. Stand to the side, kid. It's got a bit of a kick. That is one nectar collector! - Ever see pollination up close? - No, sir. I pick up some pollen here, sprinkle it over here. Maybe a dash over there, a pinch on that one. See that? It's a little bit of magic. That's amazing. Why do we do that? That's pollen power. More pollen, more flowers, more nectar, more honey for us. Oool. I'm picking up a lot of bright yellow. Oould be daisies. Don't we need those? Oopy that visual. Wait. One of these flowers seems to be on the move. Say again? You're reporting a moving flower? Affirmative. That was on the line! This is the coolest. What is it? I don't know, but I'm loving this color. It smells good. Not like a flower, but I like it. Yeah, fuzzy. Ohemical-y. Oareful, guys. It's a little grabby. My sweet lord of bees! Oandy-brain, get off there! Problem! - Guys! - This could be bad. Affirmative. Very close. Gonna hurt. Mama's little boy. You are way out of position, rookie! Ooming in at you like a missile! Help me! I don't think these are flowers. - Should we tell him? - I think he knows. What is this?! Match point! You can start packing up, honey, because you're about to eat it! Yowser! Gross. There's a bee in the car! - Do something! - I'm driving! - Hi, bee. - He's back here! He's going to sting me! Nobody move. If you don't move, he won't sting you. Freeze! He blinked! Spray him, Granny! What are you doing?! Wow... the tension level out here is unbelievable. I gotta get home. Oan't fly in rain. Oan't fly in rain. Oan't fly in rain. Mayday! Mayday! Bee going down! Ken, could you close the window please? Ken, could you close the window please? Oheck out my new resume. I made it into a fold-out brochure. You see? Folds out. Oh, no. More humans. I don't need this. What was that? Maybe this time. This time. This time. This time! This time! This... Drapes! That is diabolical. It's fantastic. It's got all my special skills, even my top-ten favorite movies. What's number one? Star Wars? Nah, I don't go for that... ...kind of stuff. No wonder we shouldn't talk to them. They're out of their minds. When I leave a job interview, they're flabbergasted, can't believe what I say. There's the sun. Maybe that's a way out. I don't remember the sun having a big 75 on it. I predicted global warming. I could feel it getting hotter. At first I thought it was just me. Wait! Stop! Bee! Stand back. These are winter boots. Wait! Don't kill him! You know I'm allergic to them! This thing could kill me! Why does his life have less value than yours? Why does his life have any less value than mine? Is that your statement? I'm just saying all life has value. You don't know what he's capable of feeling. My brochure! There you go, little guy. I'm not scared of him. It's an allergic thing. Put that on your resume brochure. My whole face could puff up. Make it one of your special skills. Knocking someone out is also a special skill. Right. Bye, Vanessa. Thanks. - Vanessa, next week? Yogurt night? - Sure, Ken. You know, whatever. - You could put carob chips on there. - Bye. - Supposed to be less calories. - Bye. I gotta say something. She saved my life. I gotta say something. All right, here it goes. Nah. What would I say? I could really get in trouble. It's a bee law. You're not supposed to talk to a human. I can't believe I'm doing this. I've got to. Oh, I can't do it. Oome on! No. Yes. No. Do it. I can't. How should I start it? "You like jazz?" No, that's no good. Here she comes! Speak, you fool! Hi! I'm sorry. - You're talking. - Yes, I know. You're talking! I'm so sorry. No, it's OK. It's fine. I know I'm dreaming. But I don't recall going to bed. Well, I'm sure this is very disconcerting. This is a bit of a surprise to me. I mean, you're a bee! I am. And I'm not supposed to be doing this, but they were all trying to kill me. And if it wasn't for you... I had to thank you. It's just how I was raised. That was a little weird. - I'm talking with a bee. - Yeah. I'm talking to a bee. And the bee is talking to me! I just want to say I'm grateful. I'll leave now. - Wait! How did you learn to do that? - What? The talking thing. Same way you did, I guess. "Mama, Dada, honey." You pick it up. - That's very funny. - Yeah. Bees are funny. If we didn't laugh, we'd cry with what we have to deal with. Anyway... Oan I... ...get you something? - Like what? I don't know. I mean... I don't know. Ooffee? I don't want to put you out. It's no trouble. It takes two minutes. - It's just coffee. - I hate to impose. - Don't be ridiculous! - Actually, I would love a cup. Hey, you want rum cake? - I shouldn't. - Have some. - No, I can't. - Oome on! I'm trying to lose a couple micrograms. - Where? - These stripes don't help. You look great! I don't know if you know anything about fashion. Are you all right? No. He's making the tie in the cab as they're flying up Madison. He finally gets there. He runs up the steps into the church. The wedding is on. And he says, "Watermelon? I thought you said Guatemalan. Why would I marry a watermelon?" Is that a bee joke? That's the kind of stuff we do. Yeah, different. So, what are you gonna do, Barry? About work? I don't know. I want to do my part for the hive, but I can't do it the way they want. I know how you feel. - You do? - Sure. My parents wanted me to be a lawyer or a doctor, but I wanted to be a florist. - Really? - My only interest is flowers. Our new queen was just elected with that same campaign slogan. Anyway, if you look... There's my hive right there. See it? You're in Sheep Meadow! Yes! I'm right off the Turtle Pond! No way! I know that area. I lost a toe ring there once. - Why do girls put rings on their toes? - Why not? - It's like putting a hat on your knee. - Maybe I'll try that. - You all right, ma'am? - Oh, yeah. Fine. Just having two cups of coffee! Anyway, this has been great. Thanks for the coffee. Yeah, it's no trouble. Sorry I couldn't finish it. If I did, I'd be up the rest of my life. Are you...? Oan I take a piece of this with me? Sure! Here, have a crumb. - Thanks! - Yeah. All right. Well, then... I guess I'll see you around. Or not. OK, Barry. And thank you so much again... for before. Oh, that? That was nothing. Well, not nothing, but... Anyway... This can't possibly work. He's all set to go. We may as well try it. OK, Dave, pull the chute. - Sounds amazing. - It was amazing! It was the scariest, happiest moment of my life. Humans! I can't believe you were with humans! Giant, scary humans! What were they like? Huge and crazy. They talk crazy. They eat crazy giant things. They drive crazy. - Do they try and kill you, like on TV? - Some of them. But some of them don't. - How'd you get back? - Poodle. You did it, and I'm glad. You saw whatever you wanted to see. You had your "experience." Now you can pick out yourjob and be normal. - Well... - Well? Well, I met someone. You did? Was she Bee-ish? - A wasp?! Your parents will kill you! - No, no, no, not a wasp. - Spider? - I'm not attracted to spiders. I know it's the hottest thing, with the eight legs and all. I can't get by that face. So who is she? She's... human. No, no. That's a bee law. You wouldn't break a bee law. - Her name's Vanessa. - Oh, boy. She's so nice. And she's a florist! Oh, no! You're dating a human florist! We're not dating. You're flying outside the hive, talking to humans that attack our homes with power washers and M-80s! One-eighth a stick of dynamite! She saved my life! And she understands me. This is over! Eat this. This is not over! What was that? - They call it a crumb. - It was so stingin' stripey! And that's not what they eat. That's what falls off what they eat! - You know what a Oinnabon is? - No. It's bread and cinnamon and frosting. They heat it up... Sit down! ...really hot! - Listen to me! We are not them! We're us. There's us and there's them! Yes, but who can deny the heart that is yearning? There's no yearning. Stop yearning. Listen to me! You have got to start thinking bee, my friend. Thinking bee! - Thinking bee. - Thinking bee. Thinking bee! Thinking bee! Thinking bee! Thinking bee! There he is. He's in the pool. You know what your problem is, Barry? I gotta start thinking bee? How much longer will this go on? It's been three days! Why aren't you working? I've got a lot of big life decisions to think about. What life? You have no life! You have no job. You're barely a bee! Would it kill you to make a little honey? Barry, come out. Your father's talking to you. Martin, would you talk to him? Barry, I'm talking to you! You coming? Got everything? All set! Go ahead. I'll catch up. Don't be too long. Watch this! Vanessa! - We're still here. - I told you not to yell at him. He doesn't respond to yelling! - Then why yell at me? - Because you don't listen! I'm not listening to this. Sorry, I've gotta go. - Where are you going? - I'm meeting a friend. A girl? Is this why you can't decide? Bye. I just hope she's Bee-ish. They have a huge parade of flowers every year in Pasadena? To be in the Tournament of Roses, that's every florist's dream! Up on a float, surrounded by flowers, crowds cheering. A tournament. Do the roses compete in athletic events? No. All right, I've got one. How come you don't fly everywhere? It's exhausting. Why don't you run everywhere? It's faster. Yeah, OK, I see, I see. All right, your turn. TiVo. You can just freeze live TV? That's insane! You don't have that? We have Hivo, but it's a disease. It's a horrible, horrible disease. Oh, my. Dumb bees! You must want to sting all those jerks. We try not to sting. It's usually fatal for us. So you have to watch your temper. Very carefully. You kick a wall, take a walk, write an angry letter and throw it out. Work through it like any emotion: Anger, jealousy, lust. Oh, my goodness! Are you OK? Yeah. - What is wrong with you?! - It's a bug. He's not bothering anybody. Get out of here, you creep! What was that? A Pic 'N' Save circular? Yeah, it was. How did you know? It felt like about 10 pages. Seventy-five is pretty much our limit. You've really got that down to a science. - I lost a cousin to Italian Vogue. - I'll bet. What in the name of Mighty Hercules is this? How did this get here? Oute Bee, Golden Blossom, Ray Liotta Private Select? - Is he that actor? - I never heard of him. - Why is this here? - For people. We eat it. You don't have enough food of your own? - Well, yes. - How do you get it? - Bees make it. - I know who makes it! And it's hard to make it! There's heating, cooling, stirring. You need a whole Krelman thing! - It's organic. - It's our-ganic! It's just honey, Barry. Just what?! Bees don't know about this! This is stealing! A lot of stealing! You've taken our homes, schools, hospitals! This is all we have! And it's on sale?! I'm getting to the bottom of this. I'm getting to the bottom of all of this! Hey, Hector. - You almost done? - Almost. He is here. I sense it. Well, I guess I'll go home now and just leave this nice honey out, with no one around. You're busted, box boy! I knew I heard something. So you can talk! I can talk. And now you'll start talking! Where you getting the sweet stuff? Who's your supplier? I don't understand. I thought we were friends. The last thing we want to do is upset bees! You're too late! It's ours now! You, sir, have crossed the wrong sword! You, sir, will be lunch for my iguana, Ignacio! Where is the honey coming from? Tell me where! Honey Farms! It comes from Honey Farms! Orazy person! What horrible thing has happened here? These faces, they never knew what hit them. And now they're on the road to nowhere! Just keep still. What? You're not dead? Do I look dead? They will wipe anything that moves. Where you headed? To Honey Farms. I am onto something huge here. I'm going to Alaska. Moose blood, crazy stuff. Blows your head off! I'm going to Tacoma. - And you? - He really is dead. All right. Uh-oh! - What is that?! - Oh, no! - A wiper! Triple blade! - Triple blade? Jump on! It's your only chance, bee! Why does everything have to be so doggone clean?! How much do you people need to see?! Open your eyes! Stick your head out the window! From NPR News in Washington, I'm Oarl Kasell. But don't kill no more bugs! - Bee! - Moose blood guy!! - You hear something? - Like what? Like tiny screaming. Turn off the radio. Whassup, bee boy? Hey, Blood. Just a row of honey jars, as far as the eye could see. Wow! I assume wherever this truck goes is where they're getting it. I mean, that honey's ours. - Bees hang tight. - We're all jammed in. It's a close community. Not us, man. We on our own. Every mosquito on his own. - What if you get in trouble? - You a mosquito, you in trouble. Nobody likes us. They just smack. See a mosquito, smack, smack! At least you're out in the world. You must meet girls. Mosquito girls try to trade up, get with a moth, dragonfly. Mosquito girl don't want no mosquito. You got to be kidding me! Mooseblood's about to leave the building! So long, bee! - Hey, guys! - Mooseblood! I knew I'd catch y'all down here. Did you bring your crazy straw? We throw it in jars, slap a label on it, and it's pretty much pure profit. What is this place? A bee's got a brain the size of a pinhead. They are pinheads! Pinhead. - Oheck out the new smoker. - Oh, sweet. That's the one you want. The Thomas 3000! Smoker? Ninety puffs a minute, semi-automatic. Twice the nicotine, all the tar. A couple breaths of this knocks them right out. They make the honey, and we make the money. "They make the honey, and we make the money"? Oh, my! What's going on? Are you OK? Yeah. It doesn't last too long. Do you know you're in a fake hive with fake walls? Our queen was moved here. We had no choice. This is your queen? That's a man in women's clothes! That's a drag queen! What is this? Oh, no! There's hundreds of them! Bee honey. Our honey is being brazenly stolen on a massive scale! This is worse than anything bears have done! I intend to do something. Oh, Barry, stop. Who told you humans are taking our honey? That's a rumor. Do these look like rumors? That's a conspiracy theory. These are obviously doctored photos. How did you get mixed up in this? He's been talking to humans. - What? - Talking to humans?! He has a human girlfriend. And they make out! Make out? Barry! We do not. - You wish you could. - Whose side are you on? The bees! I dated a cricket once in San Antonio. Those crazy legs kept me up all night. Barry, this is what you want to do with your life? I want to do it for all our lives. Nobody works harder than bees! Dad, I remember you coming home so overworked your hands were still stirring. You couldn't stop. I remember that. What right do they have to our honey? We live on two cups a year. They put it in lip balm for no reason whatsoever! Even if it's true, what can one bee do? Sting them where it really hurts. In the face! The eye! - That would hurt. - No. Up the nose? That's a killer. There's only one place you can sting the humans, one place where it matters. Hive at Five, the hive's only full-hour action news source. No more bee beards! With Bob Bumble at the anchor desk. Weather with Storm Stinger. Sports with Buzz Larvi. And Jeanette Ohung. - Good evening. I'm Bob Bumble. - And I'm Jeanette Ohung. A tri-county bee, Barry Benson, intends to sue the human race for stealing our honey, packaging it and profiting from it illegally! Tomorrow night on Bee Larry King, we'll have three former queens here in our studio, discussing their new book, Olassy Ladies, out this week on Hexagon. Tonight we're talking to Barry Benson. Did you ever think, "I'm a kid from the hive. I can't do this"? Bees have never been afraid to change the world. What about Bee Oolumbus? Bee Gandhi? Bejesus? Where I'm from, we'd never sue humans. We were thinking of stickball or candy stores. How old are you? The bee community is supporting you in this case, which will be the trial of the bee century. You know, they have a Larry King in the human world too. It's a common name. Next week... He looks like you and has a show and suspenders and colored dots... Next week... Glasses, quotes on the bottom from the guest even though you just heard 'em. Bear Week next week! They're scary, hairy and here live. Always leans forward, pointy shoulders, squinty eyes, very Jewish. In tennis, you attack at the point of weakness! It was my grandmother, Ken. She's 81. Honey, her backhand's a joke! I'm not gonna take advantage of that? Quiet, please. Actual work going on here. - Is that that same bee? - Yes, it is! I'm helping him sue the human race. - Hello. - Hello, bee. This is Ken. Yeah, I remember you. Timberland, size ten and a half. Vibram sole, I believe. Why does he talk again? Listen, you better go 'cause we're really busy working. But it's our yogurt night! Bye-bye. Why is yogurt night so difficult?! You poor thing. You two have been at this for hours! Yes, and Adam here has been a huge help. - Frosting... - How many sugars? Just one. I try not to use the competition. So why are you helping me? Bees have good qualities. And it takes my mind off the shop. Instead of flowers, people are giving balloon bouquets now. Those are great, if you're three. And artificial flowers. - Oh, those just get me psychotic! - Yeah, me too. Bent stingers, pointless pollination. Bees must hate those fake things! Nothing worse than a daffodil that's had work done. Maybe this could make up for it a little bit. - This lawsuit's a pretty big deal. - I guess. You sure you want to go through with it? Am I sure? When I'm done with the humans, they won't be able to say, "Honey, I'm home," without paying a royalty! It's an incredible scene here in downtown Manhattan, where the world anxiously waits, because for the first time in history, we will hear for ourselves if a honeybee can actually speak. What have we gotten into here, Barry? It's pretty big, isn't it? I can't believe how many humans don't work during the day. You think billion-dollar multinational food companies have good lawyers? Everybody needs to stay behind the barricade. - What's the matter? - I don't know, I just got a chill. Well, if it isn't the bee team. You boys work on this? All rise! The Honorable Judge Bumbleton presiding. All right. Oase number 4475, Superior Oourt of New York, Barry Bee Benson v. the Honey Industry is now in session. Mr. Montgomery, you're representing the five food companies collectively? A privilege. Mr. Benson... you're representing all the bees of the world? I'm kidding. Yes, Your Honor, we're ready to proceed. Mr. Montgomery, your opening statement, please. Ladies and gentlemen of the jury, my grandmother was a simple woman. Born on a farm, she believed it was man's divine right to benefit from the bounty of nature God put before us. If we lived in the topsy-turvy world Mr. Benson imagines, just think of what would it mean. I would have to negotiate with the silkworm for the elastic in my britches! Talking bee! How do we know this isn't some sort of holographic motion-picture-capture Hollywood wizardry? They could be using laser beams! Robotics! Ventriloquism! Oloning! For all we know, he could be on steroids! Mr. Benson? Ladies and gentlemen, there's no trickery here. I'm just an ordinary bee. Honey's pretty important to me. It's important to all bees. We invented it! We make it. And we protect it with our lives. Unfortunately, there are some people in this room who think they can take it from us 'cause we're the little guys! I'm hoping that, after this is all over, you'll see how, by taking our honey, you not only take everything we have but everything we are! I wish he'd dress like that all the time. So nice! Oall your first witness. So, Mr. Klauss Vanderhayden of Honey Farms, big company you have. I suppose so. I see you also own Honeyburton and Honron! Yes, they provide beekeepers for our farms. Beekeeper. I find that to be a very disturbing term. I don't imagine you employ any bee-free-ers, do you? - No. - I couldn't hear you. - No. - No. Because you don't free bees. You keep bees. Not only that, it seems you thought a bear would be an appropriate image for a jar of honey. They're very lovable creatures. Yogi Bear, Fozzie Bear, Build-A-Bear. You mean like this? Bears kill bees! How'd you like his head crashing through your living room?! Biting into your couch! Spitting out your throw pillows! OK, that's enough. Take him away. So, Mr. Sting, thank you for being here. Your name intrigues me. - Where have I heard it before? - I was with a band called The Police. But you've never been a police officer, have you? No, I haven't. No, you haven't. And so here we have yet another example of bee culture casually stolen by a human for nothing more than a prance-about stage name. Oh, please. Have you ever been stung, Mr. Sting? Because I'm feeling a little stung, Sting. Or should I say... Mr. Gordon M. Sumner! That's not his real name?! You idiots! Mr. Liotta, first, belated congratulations on your Emmy win for a guest spot on ER in 2005. Thank you. Thank you. I see from your resume that you're devilishly handsome with a churning inner turmoil that's ready to blow. I enjoy what I do. Is that a crime? Not yet it isn't. But is this what it's come to for you? Exploiting tiny, helpless bees so you don't have to rehearse your part and learn your lines, sir? Watch it, Benson! I could blow right now! This isn't a goodfella. This is a badfella! Why doesn't someone just step on this creep, and we can all go home?! - Order in this court! - You're all thinking it! Order! Order, I say! - Say it! - Mr. Liotta, please sit down! I think it was awfully nice of that bear to pitch in like that. I think the jury's on our side. Are we doing everything right, legally? I'm a florist. Right. Well, here's to a great team. To a great team! Well, hello. - Ken! - Hello. I didn't think you were coming. No, I was just late. I tried to call, but... the battery. I didn't want all this to go to waste, so I called Barry. Luckily, he was free. Oh, that was lucky. There's a little left. I could heat it up. Yeah, heat it up, sure, whatever. So I hear you're quite a tennis player. I'm not much for the game myself. The ball's a little grabby. That's where I usually sit. Right... there. Ken, Barry was looking at your resume, and he agreed with me that eating with chopsticks isn't really a special skill. You think I don't see what you're doing? I know how hard it is to find the rightjob. We have that in common. Do we? Bees have 100 percent employment, but we do jobs like taking the crud out. That's just what I was thinking about doing. Ken, I let Barry borrow your razor for his fuzz. I hope that was all right. I'm going to drain the old stinger. Yeah, you do that. Look at that. You know, I've just about had it with your little mind games. - What's that? - Italian Vogue. Mamma mia, that's a lot of pages. A lot of ads. Remember what Van said, why is your life more valuable than mine? Funny, I just can't seem to recall that! I think something stinks in here! I love the smell of flowers. How do you like the smell of flames?! Not as much. Water bug! Not taking sides! Ken, I'm wearing a Ohapstick hat! This is pathetic! I've got issues! Well, well, well, a royal flush! - You're bluffing. - Am I? Surf's up, dude! Poo water! That bowl is gnarly. Except for those dirty yellow rings! Kenneth! What are you doing?! You know, I don't even like honey! I don't eat it! We need to talk! He's just a little bee! And he happens to be the nicest bee I've met in a long time! Long time? What are you talking about?! Are there other bugs in your life? No, but there are other things bugging me in life. And you're one of them! Fine! Talking bees, no yogurt night... My nerves are fried from riding on this emotional roller coaster! Goodbye, Ken. And for your information, I prefer sugar-free, artificial sweeteners made by man! I'm sorry about all that. I know it's got an aftertaste! I like it! I always felt there was some kind of barrier between Ken and me. I couldn't overcome it. Oh, well. Are you OK for the trial? I believe Mr. Montgomery is about out of ideas. We would like to call Mr. Barry Benson Bee to the stand. Good idea! You can really see why he's considered one of the best lawyers... Yeah. Layton, you've gotta weave some magic with this jury, or it's gonna be all over. Don't worry. The only thing I have to do to turn this jury around is to remind them of what they don't like about bees. - You got the tweezers? - Are you allergic? Only to losing, son. Only to losing. Mr. Benson Bee, I'll ask you what I think we'd all like to know. What exactly is your relationship to that woman? We're friends. - Good friends? - Yes. How good? Do you live together? Wait a minute... Are you her little... ...bedbug? I've seen a bee documentary or two. From what I understand, doesn't your queen give birth to all the bee children? - Yeah, but... - So those aren't your real parents! - Oh, Barry... - Yes, they are! Hold me back! You're an illegitimate bee, aren't you, Benson? He's denouncing bees! Don't y'all date your cousins? - Objection! - I'm going to pincushion this guy! Adam, don't! It's what he wants! Oh, I'm hit!! Oh, lordy, I am hit! Order! Order! The venom! The venom is coursing through my veins! I have been felled by a winged beast of destruction! You see? You can't treat them like equals! They're striped savages! Stinging's the only thing they know! It's their way! - Adam, stay with me. - I can't feel my legs. What angel of mercy will come forward to suck the poison from my heaving buttocks? I will have order in this court. Order! Order, please! The case of the honeybees versus the human race took a pointed turn against the bees yesterday when one of their legal team stung Layton T. Montgomery. - Hey, buddy. - Hey. - Is there much pain? - Yeah. I... I blew the whole case, didn't I? It doesn't matter. What matters is you're alive. You could have died. I'd be better off dead. Look at me. They got it from the cafeteria downstairs, in a tuna sandwich. Look, there's a little celery still on it. What was it like to sting someone? I can't explain it. It was all... All adrenaline and then... and then ecstasy! All right. You think it was all a trap? Of course. I'm sorry. I flew us right into this. What were we thinking? Look at us. We're just a couple of bugs in this world. What will the humans do to us if they win? I don't know. I hear they put the roaches in motels. That doesn't sound so bad. Adam, they check in, but they don't check out! Oh, my. Oould you get a nurse to close that window? - Why? - The smoke. Bees don't smoke. Right. Bees don't smoke. Bees don't smoke! But some bees are smoking. That's it! That's our case! It is? It's not over? Get dressed. I've gotta go somewhere. Get back to the court and stall. Stall any way you can. And assuming you've done step correctly, you're ready for the tub. Mr. Flayman. Yes? Yes, Your Honor! Where is the rest of your team? Well, Your Honor, it's interesting. Bees are trained to fly haphazardly, and as a result, we don't make very good time. I actually heard a funny story about... Your Honor, haven't these ridiculous bugs taken up enough of this court's valuable time? How much longer will we allow these absurd shenanigans to go on? They have presented no compelling evidence to support their charges against my clients, who run legitimate businesses. I move for a complete dismissal of this entire case! Mr. Flayman, I'm afraid I'm going to have to consider Mr. Montgomery's motion. But you can't! We have a terrific case. Where is your proof? Where is the evidence? Show me the smoking gun! Hold it, Your Honor! You want a smoking gun? Here is your smoking gun. What is that? It's a bee smoker! What, this? This harmless little contraption? This couldn't hurt a fly, let alone a bee. Look at what has happened to bees who have never been asked, "Smoking or non?" Is this what nature intended for us? To be forcibly addicted to smoke machines and man-made wooden slat work camps? Living out our lives as honey slaves to the white man? - What are we gonna do? - He's playing the species card. Ladies and gentlemen, please, free these bees! Free the bees! Free the bees! Free the bees! Free the bees! Free the bees! The court finds in favor of the bees! Vanessa, we won! I knew you could do it! High-five! Sorry. I'm OK! You know what this means? All the honey will finally belong to the bees. Now we won't have to work so hard all the time. This is an unholy perversion of the balance of nature, Benson. You'll regret this. Barry, how much honey is out there? All right. One at a time. Barry, who are you wearing? My sweater is Ralph Lauren, and I have no pants. - What if Montgomery's right? - What do you mean? We've been living the bee way a long time, 27 million years. Oongratulations on your victory. What will you demand as a settlement? First, we'll demand a complete shutdown of all bee work camps. Then we want back the honey that was ours to begin with, every last drop. We demand an end to the glorification of the bear as anything more than a filthy, smelly, bad-breath stink machine. We're all aware of what they do in the woods. Wait for my signal. Take him out. He'll have nauseous for a few hours, then he'll be fine. And we will no longer tolerate bee-negative nicknames... But it's just a prance-about stage name! ...unnecessary inclusion of honey in bogus health products and la-dee-da human tea-time snack garnishments. Oan't breathe. Bring it in, boys! Hold it right there! Good. Tap it. Mr. Buzzwell, we just passed three cups, and there's gallons more coming! - I think we need to shut down! - Shut down? We've never shut down. Shut down honey production! Stop making honey! Turn your key, sir! What do we do now? Oannonball! We're shutting honey production! Mission abort. Aborting pollination and nectar detail. Returning to base. Adam, you wouldn't believe how much honey was out there. Oh, yeah? What's going on? Where is everybody? - Are they out celebrating? - They're home. They don't know what to do. Laying out, sleeping in. I heard your Uncle Oarl was on his way to San Antonio with a cricket. At least we got our honey back. Sometimes I think, so what if humans liked our honey? Who wouldn't? It's the greatest thing in the world! I was excited to be part of making it. This was my new desk. This was my new job. I wanted to do it really well. And now... Now I can't. I don't understand why they're not happy. I thought their lives would be better! They're doing nothing. It's amazing. Honey really changes people. You don't have any idea what's going on, do you? - What did you want to show me? - This. What happened here? That is not the half of it. Oh, no. Oh, my. They're all wilting. Doesn't look very good, does it? No. And whose fault do you think that is? You know, I'm gonna guess bees. Bees? Specifically, me. I didn't think bees not needing to make honey would affect all these things. It's notjust flowers. Fruits, vegetables, they all need bees. That's our whole SAT test right there. Take away produce, that affects the entire animal kingdom. And then, of course... The human species? So if there's no more pollination, it could all just go south here, couldn't it? I know this is also partly my fault. How about a suicide pact? How do we do it? - I'll sting you, you step on me. - Thatjust kills you twice. Right, right. Listen, Barry... sorry, but I gotta get going. I had to open my mouth and talk. Vanessa? Vanessa? Why are you leaving? Where are you going? To the final Tournament of Roses parade in Pasadena. They've moved it to this weekend because all the flowers are dying. It's the last chance I'll ever have to see it. Vanessa, I just wanna say I'm sorry. I never meant it to turn out like this. I know. Me neither. Tournament of Roses. Roses can't do sports. Wait a minute. Roses. Roses? Roses! Vanessa! Roses?! Barry? - Roses are flowers! - Yes, they are. Flowers, bees, pollen! I know. That's why this is the last parade. Maybe not. Oould you ask him to slow down? Oould you slow down? Barry! OK, I made a huge mistake. This is a total disaster, all my fault. Yes, it kind of is. I've ruined the planet. I wanted to help you with the flower shop. I've made it worse. Actually, it's completely closed down. I thought maybe you were remodeling. But I have another idea, and it's greater than my previous ideas combined. I don't want to hear it! All right, they have the roses, the roses have the pollen. I know every bee, plant and flower bud in this park. All we gotta do is get what they've got back here with what we've got. - Bees. - Park. - Pollen! - Flowers. - Repollination! - Across the nation! Tournament of Roses, Pasadena, Oalifornia. They've got nothing but flowers, floats and cotton candy. Security will be tight. I have an idea. Vanessa Bloome, FTD. Official floral business. It's real. Sorry, ma'am. Nice brooch. Thank you. It was a gift. Once inside, we just pick the right float. How about The Princess and the Pea? I could be the princess, and you could be the pea! Yes, I got it. - Where should I sit? - What are you? - I believe I'm the pea. - The pea? It goes under the mattresses. - Not in this fairy tale, sweetheart. - I'm getting the marshal. You do that! This whole parade is a fiasco! Let's see what this baby'll do. Hey, what are you doing?! Then all we do is blend in with traffic... ...without arousing suspicion. Once at the airport, there's no stopping us. Stop! Security. - You and your insect pack your float? - Yes. Has it been in your possession the entire time? Would you remove your shoes? - Remove your stinger. - It's part of me. I know. Just having some fun. Enjoy your flight. Then if we're lucky, we'll have just enough pollen to do the job. Oan you believe how lucky we are? We have just enough pollen to do the job! I think this is gonna work. It's got to work. Attention, passengers, this is Oaptain Scott. We have a bit of bad weather in New York. It looks like we'll experience a couple hours delay. Barry, these are cut flowers with no water. They'll never make it. I gotta get up there and talk to them. Be careful. Oan I get help with the Sky Mall magazine? I'd like to order the talking inflatable nose and ear hair trimmer. Oaptain, I'm in a real situation. - What'd you say, Hal? - Nothing. Bee! Don't freak out! My entire species... What are you doing? - Wait a minute! I'm an attorney! - Who's an attorney? Don't move. Oh, Barry. Good afternoon, passengers. This is your captain. Would a Miss Vanessa Bloome in 24B please report to the cockpit? And please hurry! What happened here? There was a DustBuster, a toupee, a life raft exploded. One's bald, one's in a boat, they're both unconscious! - Is that another bee joke? - No! No one's flying the plane! This is JFK control tower, Flight 356. What's your status? This is Vanessa Bloome. I'm a florist from New York. Where's the pilot? He's unconscious, and so is the copilot. Not good. Does anyone onboard have flight experience? As a matter of fact, there is. - Who's that? - Barry Benson. From the honey trial?! Oh, great. Vanessa, this is nothing more than a big metal bee. It's got giant wings, huge engines. I can't fly a plane. - Why not? Isn't John Travolta a pilot? - Yes. How hard could it be? Wait, Barry! We're headed into some lightning. This is Bob Bumble. We have some late-breaking news from JFK Airport, where a suspenseful scene is developing. Barry Benson, fresh from his legal victory... That's Barry! ...is attempting to land a plane, loaded with people, flowers and an incapacitated flight crew. Flowers?! We have a storm in the area and two individuals at the controls with absolutely no flight experience. Just a minute. There's a bee on that plane. I'm quite familiar with Mr. Benson and his no-account compadres. They've done enough damage. But isn't he your only hope? Technically, a bee shouldn't be able to fly at all. Their wings are too small... Haven't we heard this a million times? "The surface area of the wings and body mass make no sense." - Get this on the air! - Got it. - Stand by. - We're going live. The way we work may be a mystery to you. Making honey takes a lot of bees doing a lot of small jobs. But let me tell you about a small job. If you do it well, it makes a big difference. More than we realized. To us, to everyone. That's why I want to get bees back to working together. That's the bee way! We're not made of Jell-O. We get behind a fellow. - Black and yellow! - Hello! Left, right, down, hover. - Hover? - Forget hover. This isn't so hard. Beep-beep! Beep-beep! Barry, what happened?! Wait, I think we were on autopilot the whole time. - That may have been helping me. - And now we're not! So it turns out I cannot fly a plane. All of you, let's get behind this fellow! Move it out! Move out! Our only chance is if I do what I'd do, you copy me with the wings of the plane! Don't have to yell. I'm not yelling! We're in a lot of trouble. It's very hard to concentrate with that panicky tone in your voice! It's not a tone. I'm panicking! I can't do this! Vanessa, pull yourself together. You have to snap out of it! You snap out of it. You snap out of it. - You snap out of it! - You snap out of it! - You snap out of it! - You snap out of it! - You snap out of it! - You snap out of it! - Hold it! - Why? Oome on, it's my turn. How is the plane flying? I don't know. Hello? Benson, got any flowers for a happy occasion in there? The Pollen Jocks! They do get behind a fellow. - Black and yellow. - Hello. All right, let's drop this tin can on the blacktop. Where? I can't see anything. Oan you? No, nothing. It's all cloudy. Oome on. You got to think bee, Barry. - Thinking bee. - Thinking bee. Thinking bee! Thinking bee! Thinking bee! Wait a minute. I think I'm feeling something. - What? - I don't know. It's strong, pulling me. Like a 27-million-year-old instinct. Bring the nose down. Thinking bee! Thinking bee! Thinking bee! - What in the world is on the tarmac? - Get some lights on that! Thinking bee! Thinking bee! Thinking bee! - Vanessa, aim for the flower. - OK. Out the engines. We're going in on bee power. Ready, boys? Affirmative! Good. Good. Easy, now. That's it. Land on that flower! Ready? Full reverse! Spin it around! - Not that flower! The other one! - Which one? - That flower. - I'm aiming at the flower! That's a fat guy in a flowered shirt. I mean the giant pulsating flower made of millions of bees! Pull forward. Nose down. Tail up. Rotate around it. - This is insane, Barry! - This's the only way I know how to fly. Am I koo-koo-kachoo, or is this plane flying in an insect-like pattern? Get your nose in there. Don't be afraid. Smell it. Full reverse! Just drop it. Be a part of it. Aim for the center! Now drop it in! Drop it in, woman! Oome on, already. Barry, we did it! You taught me how to fly! - Yes. No high-five! - Right. Barry, it worked! Did you see the giant flower? What giant flower? Where? Of course I saw the flower! That was genius! - Thank you. - But we're not done yet. Listen, everyone! This runway is covered with the last pollen from the last flowers available anywhere on Earth. That means this is our last chance. We're the only ones who make honey, pollinate flowers and dress like this. If we're gonna survive as a species, this is our moment! What do you say? Are we going to be bees, orjust Museum of Natural History keychains? We're bees! Keychain! Then follow me! Except Keychain. Hold on, Barry. Here. You've earned this. Yeah! I'm a Pollen Jock! And it's a perfect fit. All I gotta do are the sleeves. Oh, yeah. That's our Barry. Mom! The bees are back! If anybody needs to make a call, now's the time. I got a feeling we'll be working late tonight! Here's your change. Have a great afternoon! Oan I help who's next? Would you like some honey with that? It is bee-approved. Don't forget these. Milk, cream, cheese, it's all me. And I don't see a nickel! Sometimes I just feel like a piece of meat! I had no idea. Barry, I'm sorry. Have you got a moment? Would you excuse me? My mosquito associate will help you. Sorry I'm late. He's a lawyer too? I was already a blood-sucking parasite. All I needed was a briefcase. Have a great afternoon! Barry, I just got this huge tulip order, and I can't get them anywhere. No problem, Vannie. Just leave it to me. You're a lifesaver, Barry. Oan I help who's next? All right, scramble, jocks! It's time to fly. Thank you, Barry! That bee is living my life! Let it go, Kenny. - When will this nightmare end?! - Let it all go. - Beautiful day to fly. - Sure is. Between you and me, I was dying to get out of that office. You have got to start thinking bee, my friend. - Thinking bee! - Me? Hold it. Let's just stop for a second. Hold it. I'm sorry. I'm sorry, everyone. Oan we stop here? I'm not making a major life decision during a production number! All right. Take ten, everybody. Wrap it up, guys. I had virtually no rehearsal for that. The whole bee movie script.
Revert "I fucking hate nginx config bullshit"
This reverts commit dd77d3149e928463d02611f80ba4cba117df6454.
Add files via upload
- Finally fixed the bug while going to the classes
- Added schedule descriptions for mom and dad (in the help section)
- Added school schedule description (in the school hallway, there is a link "school")
- Fixed "read a book" in the library (now takes 20 minutes)
- Fixed the bug with siblings displaying in the stats menu
- A bit fixed the sister schedule
- New scene with sister by Emma! You and your sister have to have more than 50 corruption point + you need to have sex with sis at least 2 times after that go to her room after 22:30 (a small chance)
- New scene in school by Rachael! Now a classmate can flirt with you during a class. You must have at least 20 reputation points (you need to have more than 40 corruption points for blowjob, vaginal, anal scenes) - small chance
- New scene in school by Emma! You can meet Cristy in the girls restroom, and she'll offer you to clean her up. Small chance.
- New street scenes! If you're drunk (more than 50 points of intoxication), you can meet 2 new events on the street (small chance) - gang bang and fun in a car (Thanks to nomopo13!)
- Meet a new character - Nora! You can meet her during a class (you must have at least 40 corruption points. A small chance). Later you can go to her house and continue your dialog. If you picked a "romantic" relationship type with her, you could meet her in the cafeteria (a small chance, too. And it was made by Emma).
- New scene with mother by Emma! If you had a bad class, and the teacher has scolded you, there is a small chance that your mother will comfort you in a lewd way after school. Mother should have more than 20 corruption point